name: Test Docker on: pull_request: paths: - "**" - "!mkdocs.yml" - "!docs/**" - "!*.md" jobs: docker_x86-64: strategy: fail-fast: false matrix: images: [ubuntu22.04, ubuntu24.04, debian12, archlinux, fedora41, fedora42, fedora43] runs-on: ubuntu-latest timeout-minutes: 30 steps: - uses: actions/checkout@v4 - name: Cache for docker images uses: jpribyl/action-docker-layer-caching@v0.1.1 # Ignore the failure of a step and avoid terminating the job. continue-on-error: true with: key: ${{ matrix.images }}-cache-images-{hash} - name: Docker Build ${{ matrix.images }} run: docker compose build ${{ matrix.images }} - name: Run GDB Tests on ${{ matrix.images }} run: | docker compose run ${{ matrix.images }} ./tests.sh -d gdb -g gdb - name: Run DBG Tests on GDB on ${{ matrix.images }} run: | docker compose run ${{ matrix.images }} ./tests.sh -d gdb -g dbg - name: Run DBG Tests on LLDB on ${{ matrix.images }} run: | docker compose run ${{ matrix.images }} ./tests.sh -d lldb -g dbg docker_aarch64: strategy: fail-fast: false matrix: images: [ubuntu24.04, fedora41, fedora42, fedora43] runs-on: ubuntu-24.04-arm timeout-minutes: 30 steps: - uses: actions/checkout@v4 - name: Cache for docker images uses: jpribyl/action-docker-layer-caching@v0.1.1 # Ignore the failure of a step and avoid terminating the job. continue-on-error: true with: key: ${{ matrix.images }}-cache-images-aarch64-{hash} - name: Docker Build ${{ matrix.images }} run: docker compose build ${{ matrix.images }} - name: Run Cross Tests on GDB on ${{ matrix.images }} run: | docker compose run ${{ matrix.images }} ./tests.sh -d gdb -g cross-arch-user - name: Run DBG Tests on GDB on ${{ matrix.images }} run: | docker compose run ${{ matrix.images }} ./tests.sh -d gdb -g dbg - name: Run DBG Tests on LLDB on ${{ matrix.images }} run: | docker compose run ${{ matrix.images }} ./tests.sh -d lldb -g dbg