aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/yatr.yaml
blob: 54d5f8dbf6ada2445004cbb74b79c157766438b9 (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
name: yatr
on:
  - push

jobs:
  yatr:
    runs-on: "${{ matrix.image }}"

    strategy:
      fail-fast: false
      matrix:
        target:
          - distcheck
          - valgrind
          - check-make-embedded
        compiler:
          - gcc
          - clang
        image:
          - ubuntu-20.04
        include:
          - target: distcheck
            compiler: clang
            image: macos-10.15
          - target: clang-analyzer
            compiler: clang
            image: ubuntu-20.04
          - target: dist-srpm
            compiler: gcc
            image: ubuntu-20.04
          - target: static
            compiler: gcc
            image: ubuntu-20.04
          - target: static-all
            compiler: gcc
            image: ubuntu-20.04
          - target: win32
            compiler: gcc
            image: ubuntu-20.04
          - target: win64
            compiler: gcc
            image: ubuntu-20.04

    steps:
      - name: Check out code
        uses: actions/checkout@v2

      - name: Install dependencies
        run: |
          if [[ "x${{ matrix.image }}" = xubuntu-* ]]; then
              sudo gem update --system 3.0.6  # hack for https://github.com/rubygems/rubygems/issues/3068
              sudo gem install ronn
              sudo apt-get update -y
              if [[ "x${{ matrix.target }}" = *check* ]] || [[ "x${{ matrix.target }}" = xvalgrind ]]; then
                  sudo apt-get install -y libcmocka-dev
              fi
              if [[ "x${{ matrix.target }}" = xvalgrind ]]; then
                  sudo apt-get install -y valgrind
              fi
              if [[ "x${{ matrix.target }}" = xclang-analyzer ]]; then
                  sudo apt-get install -y clang-tools
              fi
              if [[ "x${{ matrix.target }}" = xwin32 ]]; then
                  sudo apt-get install -y gcc-mingw-w64-i686
              fi
              if [[ "x${{ matrix.target }}" = xwin64 ]]; then
                  sudo apt-get install -y gcc-mingw-w64-x86-64
              fi
          elif [[ "x${{ matrix.image }}" = xmacos-* ]]; then
              gem install ronn
              brew install automake coreutils cmocka pkg-config
          fi

      - name: Run yatr
        env:
          CC: "${{ matrix.compiler }}"
          TARGET: "${{ matrix.target }}"
          DISTFILES_URL: "${{ secrets.DISTFILES_URL }}"
          DISABLE_PUBLISHER: "${{ matrix.compiler != 'gcc' && matrix.target != 'clang-analyzer' }}"
        run: curl -sSf https://yatr.rgm.io/run.sh | bash