1# Copyright 2021, Proofcraft Pty ltd
2#
3# SPDX-License-Identifier: BSD-2-Clause
4
5# Sync proofs: deploy new verification manifest on successful preprocess test
6
7name: Proof Sync
8
9on:
10  push:
11    branches:
12      - master
13
14jobs:
15  code:
16    name: Code Freeze
17    runs-on: ubuntu-latest
18    outputs:
19      xml: ${{ steps.repo.outputs.xml }}
20    steps:
21    - id: repo
22      uses: seL4/ci-actions/repo-checkout@master
23      with:
24        manifest_repo: verification-manifest
25        manifest: devel.xml
26
27  preprocess:
28    name: Preprocess
29    needs: code
30    runs-on: ubuntu-latest
31    strategy:
32      matrix:
33        arch: [ARM, ARM_HYP, RISCV64, X64]
34        # no MCS here, auto-updating mcs.xml should be a separate job.
35    steps:
36    - uses: seL4/ci-actions/preprocess@master
37      with:
38        L4V_ARCH: ${{ matrix.arch }}
39
40  deploy:
41    name: Deploy manifest
42    needs: [code, preprocess]
43    if: ${{ github.repository_owner == 'seL4' }}
44    runs-on: ubuntu-latest
45    steps:
46    - uses: seL4/ci-actions/l4v-deploy@master
47      with:
48        xml: ${{ needs.code.outputs.xml }}
49        preprocess: 'true'
50      env:
51        GH_SSH: ${{ secrets.CI_SSH }}
52