Fix Docker runtime link failures, add smoke test #7
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 pr | |
| # PR verification: format + build/test matrix. | |
| # Main push uses ci-main.yml which adds publish/release/notify. | |
| on: | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| checks: write | |
| jobs: | |
| format: | |
| runs-on: ubuntu-latest | |
| container: debian:trixie | |
| steps: | |
| - name: Install tools | |
| run: apt-get update && apt-get install -y --no-install-recommends ca-certificates git clang-format | |
| - uses: actions/checkout@v4 | |
| - name: Check formatting | |
| run: bash scripts/format.sh --check | |
| build: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: linux | |
| preset: default | |
| build_dir: build | |
| runner: ubuntu-22.04 | |
| - name: asan debug | |
| preset: san | |
| build_dir: build-san | |
| runner: ubuntu-22.04 | |
| name: ${{ matrix.name }} | |
| runs-on: ${{ matrix.runner }} | |
| steps: | |
| - name: Generate app token | |
| id: app-token | |
| uses: actions/create-github-app-token@v2 | |
| with: | |
| app-id: ${{ secrets.OMOQ_APP_ID }} | |
| private-key: ${{ secrets.OMOQ_APP_PRIV_KEY }} | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - name: Install system dependencies | |
| run: bash deps/moxygen/standalone/install-system-deps.sh | |
| - name: Download moxygen artifacts | |
| env: | |
| GH_TOKEN: ${{ steps.app-token.outputs.token }} | |
| run: bash scripts/setup-deps-tarball.sh | |
| - name: Configure | |
| run: bash scripts/configure.sh ${{ matrix.build_dir }} ${{ matrix.preset }} | |
| - name: Build | |
| run: cmake --build ${{ matrix.build_dir }} -j$(getconf _NPROCESSORS_ONLN) | |
| - name: Test | |
| env: | |
| ASAN_OPTIONS: ${{ matrix.name == 'asan debug' && 'detect_leaks=1:abort_on_error=1' || '' }} | |
| run: ctest --test-dir ${{ matrix.build_dir }} --output-on-failure --output-junit test-results.xml | |
| - name: Publish test results | |
| uses: dorny/test-reporter@v1.9.1 | |
| if: success() || failure() | |
| with: | |
| name: "test (${{ matrix.name }})" | |
| path: ${{ matrix.build_dir }}/test-results.xml | |
| reporter: java-junit | |
| fail-on-empty: ${{ job.status == 'success' && 'true' || 'false' }} |