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