fix: support browser operation IDs on insecure HTTP origins #264
Workflow file for this run
This file contains hidden or 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: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| changes: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| outputs: | |
| command: ${{ steps.scope.outputs.command }} | |
| package: ${{ steps.scope.outputs.package }} | |
| server: ${{ steps.scope.outputs.server }} | |
| server_image: ${{ steps.scope.outputs.server_image }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6.0.2 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - name: Resolve validation scope | |
| id: scope | |
| env: | |
| BASE_SHA: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before }} | |
| EVENT_NAME: ${{ github.event_name }} | |
| HEAD_SHA: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | |
| run: | | |
| set -euo pipefail | |
| command=false | |
| package=false | |
| server=false | |
| server_image=false | |
| if [[ "$BASE_SHA" =~ ^0+$ ]]; then | |
| changed_files="$(git ls-tree --name-only -r "$HEAD_SHA")" | |
| elif [ "$EVENT_NAME" = "pull_request" ]; then | |
| changed_files="$(git diff --name-only --diff-filter=ACDMRT "$BASE_SHA...$HEAD_SHA")" | |
| else | |
| changed_files="$(git diff --name-only --diff-filter=ACDMRT "$BASE_SHA..$HEAD_SHA")" | |
| fi | |
| while IFS= read -r file; do | |
| case "$file" in | |
| .bun-version | .dockerignore | .github/workflows/* | .node-version | LICENSE | NOTICE | bun.lock | package.json) | |
| command=true | |
| package=true | |
| server=true | |
| server_image=true | |
| ;; | |
| packages/open-flow/*) | |
| command=true | |
| package=true | |
| server=true | |
| server_image=true | |
| ;; | |
| packages/command/*) | |
| command=true | |
| ;; | |
| apps/server/*) | |
| server=true | |
| server_image=true | |
| ;; | |
| esac | |
| done <<< "$changed_files" | |
| { | |
| echo "command=$command" | |
| echo "package=$package" | |
| echo "server=$server" | |
| echo "server_image=$server_image" | |
| } >> "$GITHUB_OUTPUT" | |
| quality: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2.2.0 | |
| with: | |
| bun-version-file: .bun-version | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: .node-version | |
| - name: Install | |
| run: bun install --frozen-lockfile | |
| - name: Check | |
| run: bun run check | |
| package: | |
| needs: changes | |
| if: needs.changes.outputs.package == 'true' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2.2.0 | |
| with: | |
| bun-version-file: .bun-version | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: .node-version | |
| - name: Install | |
| run: bun install --frozen-lockfile | |
| - name: Test package source | |
| run: bun run --filter @oomol-lab/open-flow test | |
| - name: Verify package core coverage | |
| run: bun run --filter @oomol-lab/open-flow test:coverage | |
| - name: Verify package artifacts | |
| run: bun run test:npm-package | |
| command: | |
| needs: changes | |
| if: needs.changes.outputs.command == 'true' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2.2.0 | |
| with: | |
| bun-version-file: .bun-version | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: .node-version | |
| - name: Install | |
| run: bun install --frozen-lockfile | |
| - name: Test command source | |
| run: bun run --filter @oomol-lab/open-flow-command test | |
| - name: Verify Command Artifact | |
| run: bun run test:command-artifact | |
| server: | |
| needs: changes | |
| if: needs.changes.outputs.server == 'true' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2.2.0 | |
| with: | |
| bun-version-file: .bun-version | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: .node-version | |
| - name: Install | |
| run: bun install --frozen-lockfile | |
| - name: Test Server and verify core coverage | |
| run: bun run --filter @oomol-lab/open-flow-server test:coverage | |
| server_image: | |
| needs: changes | |
| if: needs.changes.outputs.server_image == 'true' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2.2.0 | |
| with: | |
| bun-version-file: .bun-version | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: .node-version | |
| - name: Install | |
| run: bun install --frozen-lockfile | |
| - name: Verify Server image | |
| run: bun run test:docker |