name: "Swift" on: pull_request: paths: - "swift/**" - "misc/bazel/**" - "misc/codegen/**" - "shared/**" - "*.bazel*" - .github/workflows/swift.yml - .github/actions/** - codeql-workspace.yml - .pre-commit-config.yaml - "!**/*.md" - "!**/*.qhelp" branches: - main - rc/* - codeql-cli-* permissions: contents: read defaults: run: shell: bash working-directory: swift jobs: build-and-test: if: github.repository_owner == 'github' strategy: matrix: runner: [ubuntu-latest, macos-15-xlarge] fail-fast: false runs-on: ${{ matrix.runner }} steps: - uses: actions/checkout@v5 - name: Setup (Linux) if: runner.os == 'Linux' run: | sudo apt-get update sudo apt-get install -y uuid-dev zlib1g-dev - name: Build Swift extractor shell: bash run: | bazel run :install - name: Run Swift tests shell: bash run: | bazel test ... --test_tag_filters=-override --test_output=errors clang-format: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: pre-commit/action@646c83fcd040023954eafda54b4db0192ce70507 name: Check that python code is properly formatted with: extra_args: clang-format --all-files codegen: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: ./.github/actions/fetch-codeql - uses: pre-commit/action@646c83fcd040023954eafda54b4db0192ce70507 name: Check that QL generated code was checked in with: extra_args: swift-codegen --all-files - name: Generate C++ files run: | bazel run codegen -- --generate=trap,cpp --cpp-output=$PWD/generated-cpp-files - uses: actions/upload-artifact@v4 with: name: swift-generated-cpp-files path: generated-cpp-files/** check-no-override: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Check that no override is present in load.bzl run: bazel test ... --test_tag_filters=override --test_output=errors