weekly.yml (5716B)
1 name: Weekly 2 3 on: 4 workflow_dispatch: 5 schedule: 6 - cron: '0 10 * * 1' # Mon 10.00 UTC 7 8 env: 9 CTEST_OUTPUT_ON_FAILURE: 1 10 11 jobs: 12 clang: 13 name: Clang ${{ matrix.clang-version }} 14 runs-on: ubuntu-20.04 15 strategy: 16 fail-fast: false 17 matrix: 18 clang-version: [5, 7, 9, 11, 13, 15] 19 steps: 20 - name: Setup Clang 21 uses: aminya/setup-cpp@v1 22 with: 23 llvm: ${{ matrix.clang-version }} 24 - uses: actions/checkout@v3 25 - name: Build and run tests 26 run: | 27 scripts/initbuild.sh make-concurrent 28 scripts/test.sh 29 30 clang-32bit: 31 name: Clang 32bit 32 runs-on: ubuntu-20.04 33 steps: 34 - name: Prepare 35 run: | 36 sudo apt update 37 sudo apt install gcc-multilib g++-multilib 38 - uses: actions/checkout@v3 39 - name: Build and run tests 40 env: 41 CC: clang 42 CXX: clang++ 43 run: | 44 scripts/initbuild.sh make-32bit 45 scripts/test.sh 46 47 gcc-old: 48 name: GCC 4.4 49 runs-on: ubuntu-20.04 50 steps: 51 - name: Setup GCC 52 run: | 53 wget http://launchpadlibrarian.net/336269522/libmpfr4_3.1.6-1_amd64.deb 54 wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-4.4/gcc-4.4-base_4.4.7-8ubuntu1_amd64.deb 55 wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-4.4/cpp-4.4_4.4.7-8ubuntu1_amd64.deb 56 wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-4.4/gcc-4.4_4.4.7-8ubuntu1_amd64.deb 57 wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-4.4/libstdc++6-4.4-dev_4.4.7-8ubuntu1_amd64.deb 58 wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-4.4/g++-4.4_4.4.7-8ubuntu1_amd64.deb 59 sudo dpkg -i ./libmpfr4_3.1.6-1_amd64.deb 60 sudo dpkg -i ./gcc-4.4-base_4.4.7-8ubuntu1_amd64.deb 61 sudo dpkg -i ./cpp-4.4_4.4.7-8ubuntu1_amd64.deb 62 sudo dpkg -i ./gcc-4.4_4.4.7-8ubuntu1_amd64.deb 63 sudo dpkg -i ./libstdc++6-4.4-dev_4.4.7-8ubuntu1_amd64.deb ./g++-4.4_4.4.7-8ubuntu1_amd64.deb 64 - uses: actions/checkout@v3 65 - name: Build and run tests 66 env: 67 CC: gcc-4.4 68 CXX: g++-4.4 69 run: | 70 scripts/initbuild.sh make-concurrent 71 scripts/test.sh 72 73 gcc: 74 name: GCC ${{ matrix.gcc-version }} 75 runs-on: ubuntu-20.04 76 strategy: 77 fail-fast: false 78 matrix: 79 gcc-version: [7, 9, 11] 80 steps: 81 - name: Setup GCC 82 uses: aminya/setup-cpp@v1 83 with: 84 gcc: ${{ matrix.gcc-version }} 85 - uses: actions/checkout@v3 86 - name: Build and run tests 87 run: | 88 scripts/initbuild.sh make-concurrent 89 scripts/test.sh 90 91 gcc-32bit: 92 name: GCC 32bit 93 runs-on: ubuntu-20.04 94 steps: 95 - name: Prepare 96 run: | 97 sudo apt update 98 sudo apt install gcc-multilib g++-multilib 99 - uses: actions/checkout@v3 100 - name: Build and run tests 101 run: | 102 scripts/initbuild.sh make-32bit 103 scripts/test.sh 104 105 intel: 106 name: Intel ${{ matrix.compiler }} 107 runs-on: ubuntu-20.04 108 strategy: 109 fail-fast: false 110 matrix: 111 compiler: [icc, icx] 112 steps: 113 - name: Prepare 114 run: | 115 wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | \ 116 gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null 117 echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | \ 118 sudo tee /etc/apt/sources.list.d/oneAPI.list 119 sudo apt update 120 sudo apt install intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2021.4.0 121 - name: Setup Intel oneAPI 122 run: | 123 source /opt/intel/oneapi/setvars.sh 124 printenv >> $GITHUB_ENV 125 - uses: actions/checkout@v3 126 - name: Build and run tests 127 env: 128 CC: ${{ matrix.compiler }} 129 CXX: ${{ matrix.compiler }} 130 run: | 131 scripts/initbuild.sh make-concurrent 132 scripts/test.sh 133 134 macos-clang: 135 name: macOS Clang 136 runs-on: macos-11 137 steps: 138 - uses: actions/checkout@v3 139 - name: Build and run tests 140 run: | 141 scripts/initbuild.sh make-concurrent 142 scripts/test.sh 143 144 macos-gcc: 145 name: macOS GCC ${{ matrix.gcc-version }} 146 runs-on: macos-11 147 strategy: 148 fail-fast: false 149 matrix: 150 gcc-version: [9, 12] 151 steps: 152 - uses: actions/checkout@v3 153 - name: Prepare 154 run: | 155 brew install gcc@${{ matrix.gcc-version }} 156 - name: Build and run tests 157 env: 158 CC: gcc-${{ matrix.gcc-version }} 159 CXX: g++-${{ matrix.gcc-version }} 160 run: | 161 scripts/initbuild.sh make-concurrent 162 scripts/test.sh 163 164 windows: 165 name: Windows Visual Studio ${{ matrix.version }} 166 runs-on: windows-${{ matrix.version }} 167 strategy: 168 fail-fast: false 169 matrix: 170 version: [2019, 2022] 171 steps: 172 - uses: microsoft/setup-msbuild@v1.1 173 - uses: actions/checkout@v3 174 - name: Build and run tests 175 run: | 176 cmake . 177 msbuild FlatCC.sln /m /property:Configuration=Release 178 ctest -VV 179 180 cmake-minimum-required: 181 name: CMake 2.8.12 (min. required) 182 runs-on: ubuntu-20.04 183 steps: 184 - name: Setup cmake 185 uses: jwlawson/actions-setup-cmake@v1 186 with: 187 cmake-version: 2.8.12 188 - uses: actions/checkout@v3 189 - name: Build and run tests 190 run: | 191 cmake --version 192 scripts/initbuild.sh make-concurrent 193 scripts/test.sh