# Copyright 2021 Proofcraft Pty Ltd # # SPDX-License-Identifier: BSD-2-Clause name: Proofs on: pull_request_target: types: [labeled, synchronize] jobs: cproof: name: C Proofs runs-on: ubuntu-latest # run on any normal trigger when the label exists, and run when the label is added # don't run again when other labels are added if: ${{ github.repository_owner == 'seL4' && (github.event.action != 'labeled' && contains(github.event.pull_request.labels.*.name, 'proof-test') || github.event.action == 'labeled' && github.event.label.name == 'proof-test') }} strategy: fail-fast: false matrix: include: - arch: ARM session: CRefine SimplExportAndRefine - arch: ARM_HYP session: CRefine - arch: RISCV64 session: CRefine SimplExportAndRefine - arch: X64 session: CRefine - arch: AARCH64 session: CRefine - arch: RISCV64 features: MCS session: CRefine # test only most recent push to PR: concurrency: seL4-PR-C-proofs-pr-${{ github.event.number }}-idx-${{ strategy.job-index }} steps: - name: Proofs uses: seL4/ci-actions/aws-proofs@master with: L4V_ARCH: ${{ matrix.arch }} L4V_FEATURES: ${{ matrix.features }} session: ${{ matrix.session }} manifest: ${{ matrix.features == 'MCS' && 'mcs.xml' || 'default.xml' }} isa_branch: 'ts-2025' env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_SSH: ${{ secrets.AWS_SSH }} GH_HEAD_SHA: ${{ github.event.pull_request.head.sha }} - name: Upload kernel builds uses: actions/upload-artifact@v7 with: name: kernel-builds-${{ matrix.arch }}-${{ matrix.features }} path: artifacts/kernel-builds if-no-files-found: ignore - name: Upload logs uses: actions/upload-artifact@v7 with: name: logs-${{ matrix.arch }}-${{ matrix.features }} path: logs.tar.xz