name: roku-analysis on: pull_request: push: env: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} jobs: static: runs-on: ubuntu-latest steps: - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4 - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3 with: node-version: "lts/*" cache: "npm" - name: NPM install run: npm ci - name: Install roku module dependencies run: npm run ropm - name: Build dev app if: env.BRANCH_NAME != 'master' run: npm run build - name: Build app for production if: env.BRANCH_NAME == 'master' run: npm run build-prod - name: Use Java 17 uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 # v3 with: distribution: "temurin" java-version: "17" - name: Download the Static Channel Analysis CLI run: | curl -sSL "https://devtools.web.roku.com/static-channel-analysis/sca-cmd.zip" -o sca-cmd.zip unzip sca-cmd.zip - name: Run Roku Static Analysis run: ./sca-cmd/bin/sca-cmd ${{ github.workspace }}/build/staging --exit error