summaryrefslogtreecommitdiff
path: root/.github/workflows/arm64.yml
blob: 2d70beab9b2477b6a1dc672d0a30b498008bf75a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
name: Arm64 CI
on:
  push:
    branches:
      - main
      - '*.*.x'
    tags:
      - '*.*'
      - '*.*.*'

permissions: read-all

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
  cancel-in-progress: true

jobs:
  linux-arm64:
    if: github.repository_owner == 'pyca'
    runs-on: [self-hosted, linux, ARM64]
    container: ghcr.io/pyca/cryptography-runner-${{ matrix.IMAGE.IMAGE }}
    strategy:
      fail-fast: false
      matrix:
        IMAGE:
          - {IMAGE: "ubuntu-focal:aarch64", TOXENV: "py38"}
    name: "${{ matrix.IMAGE.TOXENV }} on ${{ matrix.IMAGE.IMAGE }}"
    timeout-minutes: 20
    steps:
      - name: "Delete workspace" # self-hosted runners need this, sigh
        run: find ! -name '.' ! -name '..' -delete
      - uses: actions/checkout@v2.4.0
        with:
          persist-credentials: false
      - uses: actions/cache@v2.1.7
        with:
          path: |
            ~/.cargo/bin/
            ~/.cargo/registry/index/
            ~/.cargo/registry/cache/
            ~/.cargo/git/db/
            src/rust/target/
          key: ${{ runner.os }}-${{ matrix.IMAGE.IMAGE }}-cargo-2-${{ hashFiles('**/Cargo.lock') }}

      - uses: actions/checkout@v2.4.0
        with:
          repository: "google/wycheproof"
          path: "wycheproof"
      - run: 'tox -- --wycheproof-root="wycheproof"'
        env:
          TOXENV: ${{ matrix.IMAGE.TOXENV }}
          RUSTUP_HOME: /root/.rustup
          CARGO_TARGET_DIR: ${{ format('{0}/src/rust/target/', github.workspace) }}
      - uses: ./.github/actions/upload-coverage
        with:
          name: "${{ matrix.IMAGE.TOXENV }} on ${{ matrix.IMAGE.IMAGE }}"