name: PR Check on: [pull_request] jobs: # All jobs essentially re-create the `ci-release-test` make target, but are split # up for parallel runners for faster PR feedback and a nicer UX. go-build: name: Go Build runs-on: ubuntu-18.04 steps: - name: Check out code uses: actions/checkout@v2 - name: Build Golang run: make ci-go-build-all-platforms timeout-minutes: 30 go-test: name: Go Test runs-on: ubuntu-18.04 steps: - name: Check out code uses: actions/checkout@v2 - name: Unit Test Golang run: make ci-go-test-coverage timeout-minutes: 30 go-perf: name: Go Perf runs-on: ubuntu-18.04 steps: - name: Check out code uses: actions/checkout@v2 - name: Benchmark Test Golang run: make ci-go-perf timeout-minutes: 30 go-lint: name: Go Lint runs-on: ubuntu-18.04 steps: - name: Check out code uses: actions/checkout@v2 - name: Golang Style and Lint Check run: make ci-go-check timeout-minutes: 30 wasm: name: WASM runs-on: ubuntu-18.04 steps: - name: Check out code uses: actions/checkout@v2 - name: Build and Test WASM run: make ci-wasm timeout-minutes: 15 check-generated: name: Check Generated runs-on: ubuntu-18.04 steps: - name: Check out code uses: actions/checkout@v2 - name: Check Working Copy run: make ci-check-working-copy timeout-minutes: 15 wasm-go-sdk-e2e: name: OPA Wasm SDK e2e runs-on: ubuntu-18.04 steps: - name: Check out code uses: actions/checkout@v2 - name: Build and Test Wasm SDK run: make ci-go-wasm-sdk-e2e-test timeout-minutes: 30 nodejs-wasm-example: name: npm-opa-wasm runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@v2 - name: Build OPA run: | make ci-go-build-linux ln -s _release/*/opa_linux_amd64 opa echo $(pwd) >> $GITHUB_PATH - name: Check out npm-opa-wasm uses: actions/checkout@v2 with: repository: open-policy-agent/npm-opa-wasm path: npm-opa-wasm # NOTE(sr): the opa binary built above doesn't have wasm enabled, # so we override the capabilities for what the released binary # provides. - name: Run npm-opa-wasm nodejs-app examples run: | npm install sed -i 's/opa build/opa build --capabilities=..\/..\/..\/capabilities.json/' examples/nodejs-ts-app/package.json ./e2e.sh working-directory: npm-opa-wasm