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