Many improvements, including the ability to compare two branches by name #194
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
| # .github/workflows/ci_linux.yml | |
| name: CI – Linux | |
| on: | |
| pull_request: | |
| branches: [main, develop] | |
| workflow_dispatch: {} | |
| jobs: | |
| build_and_test: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| # 1️⃣ Checkout the repository | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| # 2️⃣ Install Bazelisk (recommended Bazel launcher) | |
| - name: Setup Bazelisk | |
| uses: bazel-contrib/setup-bazel@0.19.0 | |
| with: | |
| bazelisk-version: "1.29.0" | |
| # 3️⃣ (Optional) Install Doxygen for documentation generation | |
| - name: Install Doxygen | |
| run: sudo apt-get update && sudo apt-get install -y doxygen | |
| # 4️⃣ Build all targets | |
| - name: Build all targets | |
| run: bazel build --verbose_failures //... | |
| # 6️⃣ Run all tests (including Python) | |
| - name: Run all tests | |
| run: bazel test --verbose_failures //... | |
| # 7️⃣ Upload test logs | |
| - name: Upload test logs - Linux | |
| if: always() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: bazel-test-logs-linux | |
| path: bazel-testlogs/ | |
| if-no-files-found: ignore | |
| retention-days: 30 | |
| asan: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Setup Bazelisk | |
| uses: bazel-contrib/setup-bazel@0.19.0 | |
| with: | |
| bazelisk-version: "1.29.0" | |
| - name: Run tests (AddressSanitizer) | |
| run: bazel test --config=asan --verbose_failures --test_output=errors //library/tests/... | |
| - name: Upload ASAN test logs | |
| if: always() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: bazel-test-logs-linux-asan | |
| path: bazel-testlogs/ | |
| if-no-files-found: ignore | |
| retention-days: 30 | |
| tsan: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Setup Bazelisk | |
| uses: bazel-contrib/setup-bazel@0.19.0 | |
| with: | |
| bazelisk-version: "1.29.0" | |
| - name: Run system tests (ThreadSanitizer) | |
| run: bazel test --config=tsan --verbose_failures --test_output=errors //library/tests/system/... | |
| - name: Upload TSAN test logs | |
| if: always() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: bazel-test-logs-linux-tsan | |
| path: bazel-testlogs/ | |
| if-no-files-found: ignore | |
| retention-days: 30 |