Bimba Shrestha | a49a485 | 2020-05-14 12:35:37 -0500 | [diff] [blame] | 1 | name: generic-dev |
| 2 | |
| 3 | on: |
| 4 | pull_request: |
| 5 | branches: [ dev, master, actionsTest ] |
| 6 | |
| 7 | jobs: |
| 8 | |
Bimba Shrestha | 0ce5f70 | 2020-06-02 09:07:45 -0700 | [diff] [blame] | 9 | # Dev PR jobs that still have to be migrated from travis |
| 10 | # |
Bimba Shrestha | a49a485 | 2020-05-14 12:35:37 -0500 | [diff] [blame] | 11 | # icc (need self-hosted) |
Bimba Shrestha | 0ce5f70 | 2020-06-02 09:07:45 -0700 | [diff] [blame] | 12 | # versionTag |
Bimba Shrestha | a49a485 | 2020-05-14 12:35:37 -0500 | [diff] [blame] | 13 | # valgrindTest (keeps failing for some reason. need investigation) |
| 14 | # staticAnalyze (need trusty so need self-hosted) |
| 15 | # pcc-fuzz: (need trusty so need self-hosted) |
Bimba Shrestha | 2598af4 | 2020-07-08 11:11:45 -0700 | [diff] [blame] | 16 | # min-decomp-macros (flakey) |
Bimba Shrestha | 0ce5f70 | 2020-06-02 09:07:45 -0700 | [diff] [blame] | 17 | # |
| 18 | # setting up self-hosted is pretty straightforward, but |
Bimba Shrestha | a49a485 | 2020-05-14 12:35:37 -0500 | [diff] [blame] | 19 | # I need admins permissions to the repo for that it looks like |
| 20 | # So I'm tabling that for now |
Bimba Shrestha | 0ce5f70 | 2020-06-02 09:07:45 -0700 | [diff] [blame] | 21 | # |
Bimba Shrestha | a49a485 | 2020-05-14 12:35:37 -0500 | [diff] [blame] | 22 | # The master branch exclusive jobs will be in a separate |
| 23 | # workflow file (the osx tests and meson build that is) |
| 24 | |
| 25 | benchmarking: |
| 26 | runs-on: ubuntu-latest |
| 27 | steps: |
| 28 | - uses: actions/checkout@v2 |
| 29 | - name: make benchmarking |
| 30 | run: make benchmarking |
Bimba Shrestha | 0ce5f70 | 2020-06-02 09:07:45 -0700 | [diff] [blame] | 31 | |
Bimba Shrestha | a49a485 | 2020-05-14 12:35:37 -0500 | [diff] [blame] | 32 | test: |
| 33 | runs-on: ubuntu-latest |
| 34 | steps: |
| 35 | - uses: actions/checkout@v2 |
Bimba Shrestha | 0ce5f70 | 2020-06-02 09:07:45 -0700 | [diff] [blame] | 36 | - name: make test |
| 37 | run: make test |
| 38 | |
Bimba Shrestha | a49a485 | 2020-05-14 12:35:37 -0500 | [diff] [blame] | 39 | gcc-6-7-libzstd: |
| 40 | runs-on: ubuntu-latest |
| 41 | steps: |
| 42 | - uses: actions/checkout@v2 |
| 43 | - name: gcc-6 + gcc-7 + libzstdmt compilation |
| 44 | run: | |
| 45 | make gcc6install gcc7install |
| 46 | CC=gcc-6 CFLAGS=-Werror make -j all |
| 47 | make clean |
| 48 | CC=gcc-7 CFLAGS=-Werror make -j all |
| 49 | make clean |
| 50 | LDFLAGS=-Wl,--no-undefined make -C lib libzstd-mt |
| 51 | make -C tests zbufftest-dll |
Bimba Shrestha | 0ce5f70 | 2020-06-02 09:07:45 -0700 | [diff] [blame] | 52 | |
Bimba Shrestha | a49a485 | 2020-05-14 12:35:37 -0500 | [diff] [blame] | 53 | gcc-8-asan-ubsan-testzstd: |
Bimba Shrestha | 0ce5f70 | 2020-06-02 09:07:45 -0700 | [diff] [blame] | 54 | runs-on: ubuntu-16.04 # fails on 18.04 |
Bimba Shrestha | a49a485 | 2020-05-14 12:35:37 -0500 | [diff] [blame] | 55 | steps: |
| 56 | - uses: actions/checkout@v2 |
Bimba Shrestha | 0ce5f70 | 2020-06-02 09:07:45 -0700 | [diff] [blame] | 57 | - name: gcc-8 + ASan + UBSan + Test Zstd |
| 58 | run: | |
Bimba Shrestha | a49a485 | 2020-05-14 12:35:37 -0500 | [diff] [blame] | 59 | make gcc8install |
| 60 | CC=gcc-8 CFLAGS="-Werror" make -j all |
| 61 | make clean |
| 62 | CC=gcc-8 make -j uasan-test-zstd </dev/null |
Bimba Shrestha | 0ce5f70 | 2020-06-02 09:07:45 -0700 | [diff] [blame] | 63 | |
Bimba Shrestha | a49a485 | 2020-05-14 12:35:37 -0500 | [diff] [blame] | 64 | gcc-6-asan-ubsan-testzstd-32bit: |
| 65 | runs-on: ubuntu-latest |
| 66 | steps: |
| 67 | - uses: actions/checkout@v2 |
| 68 | - name: gcc-6 + ASan + UBSan + Test Zstd, 32bit mode |
| 69 | run: | |
| 70 | make gcc6install libc6install |
| 71 | CC=gcc-6 CFLAGS="-Werror -m32" make -j all32 |
| 72 | make clean |
| 73 | CC=gcc-6 make -j uasan-test-zstd32 |
| 74 | |
| 75 | clang-38-msan-testzstd: |
Bimba Shrestha | 0ce5f70 | 2020-06-02 09:07:45 -0700 | [diff] [blame] | 76 | runs-on: ubuntu-16.04 # fails on 18.04 |
Bimba Shrestha | a49a485 | 2020-05-14 12:35:37 -0500 | [diff] [blame] | 77 | steps: |
| 78 | - uses: actions/checkout@v2 |
| 79 | - name: clang-3.8 + MSan + Test Zstd |
| 80 | run: | |
| 81 | # make clang38install (doesn't work) |
| 82 | sudo apt-add-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.8 main" |
| 83 | sudo apt-get update |
| 84 | sudo apt-get install clang-3.8 |
| 85 | CC=clang-3.8 make clean msan-test-zstd HAVE_ZLIB=0 HAVE_LZ4=0 HAVE_LZMA=0 |
| 86 | |
Bimba Shrestha | a49a485 | 2020-05-14 12:35:37 -0500 | [diff] [blame] | 87 | cmake-build-and-test-check: |
| 88 | runs-on: ubuntu-latest |
| 89 | steps: |
| 90 | - uses: actions/checkout@v2 |
| 91 | - name: cmake build and test check |
| 92 | run: make cmakebuild |
| 93 | |
| 94 | gcc-8-asan-ubsan-fuzz: |
| 95 | runs-on: ubuntu-latest |
| 96 | steps: |
| 97 | - uses: actions/checkout@v2 |
| 98 | - name: gcc-8 + ASan + UBSan + Fuzz Test |
| 99 | run: | |
| 100 | make gcc8install |
W. Felix Handte | e991f99 | 2020-09-17 13:28:20 -0400 | [diff] [blame] | 101 | CC=gcc-8 FUZZER_FLAGS="--long-tests" make clean uasan-fuzztest |
Bimba Shrestha | a49a485 | 2020-05-14 12:35:37 -0500 | [diff] [blame] | 102 | |
| 103 | gcc-6-asan-ubsan-fuzz32: |
| 104 | runs-on: ubuntu-latest |
| 105 | steps: |
| 106 | - uses: actions/checkout@v2 |
| 107 | - name: gcc-6 + ASan + UBSan + Fuzz Test 32bit |
| 108 | run: | |
| 109 | make gcc6install libc6install |
W. Felix Handte | e991f99 | 2020-09-17 13:28:20 -0400 | [diff] [blame] | 110 | CC=gcc-6 CFLAGS="-O2 -m32" FUZZER_FLAGS="--long-tests" make uasan-fuzztest |
Bimba Shrestha | a49a485 | 2020-05-14 12:35:37 -0500 | [diff] [blame] | 111 | |
| 112 | clang-38-msan-fuzz: |
| 113 | runs-on: ubuntu-16.04 # fails on 18.04 |
| 114 | steps: |
| 115 | - uses: actions/checkout@v2 |
| 116 | - name: clang-3.8 + MSan + Fuzz Test |
| 117 | run: | |
| 118 | # make clang38install (doesn't work) |
| 119 | sudo apt-add-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.8 main" |
| 120 | sudo apt-get update |
| 121 | sudo apt-get install clang-3.8 |
| 122 | CC=clang-3.8 make clean msan-fuzztest |
| 123 | |
| 124 | asan-ubsan-msan-regression: |
| 125 | runs-on: ubuntu-latest |
| 126 | steps: |
| 127 | - uses: actions/checkout@v2 |
| 128 | - name: ASan + UBSan + MSan + Regression Test |
| 129 | run: | |
| 130 | make -j uasanregressiontest |
| 131 | make clean |
| 132 | make -j msanregressiontest |
Bimba Shrestha | 0ce5f70 | 2020-06-02 09:07:45 -0700 | [diff] [blame] | 133 | |
Bimba Shrestha | a49a485 | 2020-05-14 12:35:37 -0500 | [diff] [blame] | 134 | cpp-gnu90-c99-compatibility: |
| 135 | runs-on: ubuntu-latest |
| 136 | steps: |
| 137 | - uses: actions/checkout@v2 |
| 138 | - name: C++, gnu90 and c99 compatibility |
| 139 | run: | |
| 140 | make cxxtest |
| 141 | make clean |
| 142 | make gnu90build |
| 143 | make clean |
| 144 | make c99build |
| 145 | make clean |
| 146 | make travis-install |
| 147 | |
| 148 | mingw-cross-compilation: |
| 149 | runs-on: ubuntu-latest |
| 150 | steps: |
| 151 | - uses: actions/checkout@v2 |
| 152 | - name: mingw cross-compilation |
| 153 | run: | |
| 154 | # sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix; (doesn't work) |
| 155 | sudo apt-get install gcc-mingw-w64 |
| 156 | CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ CFLAGS="-Werror -O1" make zstd |
Bimba Shrestha | 12185ec | 2020-06-02 09:08:16 -0700 | [diff] [blame] | 157 | |
Nick Terrell | 51dd7e6 | 2020-08-25 16:28:41 -0700 | [diff] [blame] | 158 | # TODO: Broken test - fix and uncomment |
| 159 | # armbuild: |
| 160 | # runs-on: ubuntu-16.04 # doesn't work on latest |
| 161 | # steps: |
| 162 | # - uses: actions/checkout@v2 |
| 163 | # - name: ARM Build Test |
| 164 | # run: | |
| 165 | # make arminstall |
| 166 | # make armbuild |
Bimba Shrestha | 4d6e4a2 | 2020-06-18 11:52:40 -0700 | [diff] [blame] | 167 | |
Nick Terrell | 51dd7e6 | 2020-08-25 16:28:41 -0700 | [diff] [blame] | 168 | # TODO: Broken test - fix and uncomment |
| 169 | # armfuzz: |
| 170 | # runs-on: ubuntu-16.04 # doesn't work on latest |
| 171 | # steps: |
| 172 | # - uses: actions/checkout@v2 |
| 173 | # - name: Qemu ARM emulation + Fuzz Test |
| 174 | # run: | |
| 175 | # make arminstall |
| 176 | # make armfuzz |
Bimba Shrestha | 4d6e4a2 | 2020-06-18 11:52:40 -0700 | [diff] [blame] | 177 | |
Bimba Shrestha | 12185ec | 2020-06-02 09:08:16 -0700 | [diff] [blame] | 178 | bourne-shell: |
| 179 | runs-on: ubuntu-latest |
| 180 | steps: |
| 181 | - uses: actions/checkout@v2 |
| 182 | - name: Bourne shell compatibility (shellcheck) |
| 183 | run: | |
| 184 | wget https://github.com/koalaman/shellcheck/releases/download/v0.7.1/shellcheck-v0.7.1.linux.x86_64.tar.xz |
| 185 | tar -xf shellcheck-v0.7.1.linux.x86_64.tar.xz |
Bimba Shrestha | eee59be | 2020-06-02 09:15:24 -0700 | [diff] [blame] | 186 | shellcheck-v0.7.1/shellcheck --shell=sh --severity=warning --exclude=SC2010 tests/playTests.sh |
Bimba Shrestha | b413dac | 2020-08-13 12:45:28 -0500 | [diff] [blame] | 187 | |
| 188 | icc: |
| 189 | name: icc-check |
| 190 | runs-on: ubuntu-latest |
| 191 | steps: |
| 192 | - name: install icc |
| 193 | run: | |
| 194 | export DEBIAN_FRONTEND=noninteractive |
| 195 | sudo apt-get -qqq update |
| 196 | sudo apt-get install -y wget build-essential pkg-config cmake ca-certificates gnupg |
| 197 | sudo wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB |
| 198 | sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB |
Bimba Shrestha | ac8ded7 | 2020-12-05 09:42:44 -0600 | [diff] [blame^] | 199 | sudo add-apt-repository "deb https://apt.repos.intel.com/oneapi all main" |
Bimba Shrestha | b413dac | 2020-08-13 12:45:28 -0500 | [diff] [blame] | 200 | sudo apt-get update |
Bimba Shrestha | ac8ded7 | 2020-12-05 09:42:44 -0600 | [diff] [blame^] | 201 | sudo apt-get install -y intel-basekit intel-hpckit |
Bimba Shrestha | b413dac | 2020-08-13 12:45:28 -0500 | [diff] [blame] | 202 | - uses: actions/checkout@v2 |
| 203 | - name: make check |
| 204 | run: | |
| 205 | make CC=/opt/intel/oneapi/compiler/latest/linux/bin/intel64/icc check |