1 2# (C) 2020 Jack Lloyd 3# Botan is released under the Simplified BSD License (see license.txt) 4 5name: ci 6 7on: 8 push: 9 branches: [ release-2 ] 10 pull_request: 11 branches: [ release-2 ] 12 13jobs: 14 ci: 15 runs-on: ${{ matrix.host_os }} 16 17 env: 18 ANDROID_NDK: android-ndk-r21d 19 20 strategy: 21 fail-fast: false 22 23 matrix: 24 include: 25 - target: coverage 26 compiler: gcc 27 host_os: ubuntu-20.04 28 - target: shared 29 compiler: gcc 30 host_os: ubuntu-20.04 31 - target: shared 32 compiler: clang 33 host_os: ubuntu-20.04 34 - target: valgrind 35 compiler: gcc 36 host_os: ubuntu-20.04 37 - target: fuzzers 38 compiler: gcc 39 host_os: ubuntu-20.04 40 - target: cross-i386 41 compiler: gcc 42 host_os: ubuntu-20.04 43 - target: cross-arm64 44 compiler: gcc 45 host_os: ubuntu-20.04 46 - target: cross-ppc64 47 compiler: gcc 48 host_os: ubuntu-20.04 49 - target: cross-android-arm32 50 compiler: clang 51 host_os: ubuntu-20.04 52 - target: cross-android-arm64 53 compiler: clang 54 host_os: ubuntu-20.04 55 - target: cross-win64 56 compiler: gcc 57 host_os: ubuntu-20.04 58 - target: baremetal 59 compiler: gcc 60 host_os: ubuntu-20.04 61 - target: minimized 62 compiler: gcc 63 host_os: ubuntu-20.04 64 - target: bsi 65 compiler: gcc 66 host_os: ubuntu-20.04 67 - target: lint 68 compiler: gcc 69 host_os: ubuntu-20.04 70 - target: shared 71 compiler: clang 72 host_os: macos-latest 73 - target: cross-ios-arm64 74 compiler: clang 75 host_os: macos-latest 76 77 steps: 78 - uses: actions/checkout@v2 79 - uses: actions/cache@v2 80 with: 81 path: | 82 ~/.ccache 83 /Users/runner/Library/Caches/ccache 84 key: release-2-${{ runner.os }}-${{ matrix.compiler }}-${{ matrix.target }}-${{ github.run_id }} 85 restore-keys: | 86 release-2-${{ runner.os }}-${{ matrix.compiler }}-${{ matrix.target }}- 87 - run: ./src/scripts/ci/setup_gh_actions.sh ${{ matrix.target }} 88 - run: ./src/scripts/ci_build.py --cc '${{ matrix.compiler }}' ${{ matrix.target }} 89