WIP: server/aspnetcore: Add initial UCAST->LINQ plumbing. #1271
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
workflow_dispatch: {} | |
pull_request: {} | |
push: | |
branches: | |
- main | |
schedule: | |
- cron: 0 0 * * * | |
# When a new revision is pushed to a PR, cancel all in-progress CI runs for that | |
# PR. See https://docs.github.com/en/actions/using-jobs/using-concurrency | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
unit-test-react: | |
name: node packages | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
pkg: [opa-wasm] | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: "21.x" | |
- uses: open-policy-agent/setup-opa@v2 | |
- name: setup and test | |
run: | | |
npm ci | |
npm test | |
working-directory: client/react/packages/${{ matrix.pkg }} | |
build-clients: | |
name: build client | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
client: [html, react] | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: open-policy-agent/setup-opa@v2 | |
- name: build wasm bundle | |
run: make client/react/public/opa.wasm | |
env: | |
OPA: opa | |
if: ${{ matrix.client == 'react' }} | |
- name: setup | |
run: docker compose --profile ${{ matrix.client }} up --quiet-pull --wait --wait-timeout 300 --build | |
- name: smoke test | |
run: curl --retry 5 --retry-connrefused --retry-max-time 120 http://127.0.0.1:3000 -v | |
test-e2e: | |
name: Test E2E | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
server: [node, csharp, aspnetcore, java, springboot] | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: setup | |
run: docker compose --profile ${{ matrix.server }} --profile react up --quiet-pull --wait --wait-timeout 300 | |
- name: Install dependencies | |
run: npm ci | |
working-directory: tests/e2e | |
- name: Install Playwright Browsers | |
run: npx playwright install --with-deps | |
working-directory: tests/e2e | |
- name: Run Playwright tests | |
run: npx playwright test | |
working-directory: tests/e2e | |
env: | |
CONDITIONS: ${{ matrix.server == 'node' }} | |
REASONS: ${{ matrix.server == 'node' || matrix.server == 'java' }} | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: playwright-report-${{ matrix.server }} | |
path: tests/e2e/playwright-report/ | |
retention-days: 7 | |
- name: Run hurl API tests | |
run: docker compose run --quiet-pull integration-tests | |
env: | |
HURL_SKIP_CONDITIONS: ${{ matrix.server != 'node' }} | |
- name: dump logs | |
run: docker compose --profile ${{ matrix.server }} logs | |
if: failure() | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v5 | |
if: always() | |
with: | |
check_name: Results for server-${{ matrix.server }} | |
report_paths: tests/api/report.xml | |
test-e2e-batch: | |
name: Test E2E Batching | |
runs-on: ubuntu-22.04 | |
env: | |
eopa_license: ${{ secrets.EOPA_LICENSE_KEY }} | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
if: env.eopa_license != '' | |
- name: setup | |
run: docker compose --profile node --profile react up --quiet-pull --wait --wait-timeout 300 | |
env: | |
OPA_DOCKERFILE: enterprise-opa.Dockerfile | |
EOPA_LICENSE_KEY: ${{ secrets.EOPA_LICENSE_KEY }} | |
if: env.eopa_license != '' | |
- name: Install dependencies | |
run: npm ci | |
working-directory: tests/e2e | |
if: env.eopa_license != '' | |
- name: Install Playwright Browsers | |
run: npx playwright install --with-deps | |
working-directory: tests/e2e | |
if: env.eopa_license != '' | |
- name: Run Playwright tests | |
run: npx playwright test | |
working-directory: tests/e2e | |
env: | |
BATCHING: true | |
if: env.eopa_license != '' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: playwright-report-batching-node | |
path: tests/e2e/playwright-report/ | |
retention-days: 7 | |
if: env.eopa_license != '' && always() | |
- name: dump logs | |
run: docker compose --profile node logs | |
if: env.eopa_license != '' && always() |