try fix #827
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: C/C++ CI | |
| on: | |
| push: | |
| branches: [ '*' ] | |
| pull_request: | |
| branches: [ '*' ] | |
| env: | |
| ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true | |
| jobs: | |
| ubuntu_14: | |
| name: ubuntu_14 | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: ubuntu:14.04 | |
| volumes: | |
| - /node20217:/node20217:rw,rshared | |
| - /node20217:/__e/node20:ro,rshared | |
| steps: | |
| - name: nodejs | |
| run: | | |
| apt-get update && apt-get install -y wget xz-utils | |
| wget https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz | |
| tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217 | |
| - uses: actions/checkout@v2 | |
| - name: install packages | |
| run: sudo apt-get update && sudo apt-get install -y zlib1g-dev gcc g++ autoconf automake make | |
| - name: env | |
| run: lsb_release -a && ldd --version && gcc --version && g++ --version | |
| - name: build | |
| run: make -j8 | |
| - name: test | |
| run: make test | |
| ubuntu_16: | |
| name: Ubuntu 16 | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: ubuntu:16.04 | |
| volumes: | |
| - /node20217:/node20217:rw,rshared | |
| - /node20217:/__e/node20:ro,rshared | |
| steps: | |
| - name: nodejs | |
| run: | | |
| apt-get update && apt-get install -y wget xz-utils | |
| wget https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz | |
| tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217 | |
| - uses: actions/checkout@v2 | |
| - name: install packages | |
| run: apt-get update && apt-get install -y zlib1g-dev gcc g++ autoconf automake make | |
| - name: build | |
| run: make -j8 | |
| - name: test | |
| run: make test | |
| ubuntu_16_cmake: | |
| name: Ubuntu 16 cmake | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: ubuntu:16.04 | |
| volumes: | |
| - /node20217:/node20217:rw,rshared | |
| - /node20217:/__e/node20:ro,rshared | |
| steps: | |
| - name: nodejs | |
| run: | | |
| apt-get update && apt-get install -y wget xz-utils | |
| wget https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz | |
| tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217 | |
| - uses: actions/checkout@v2 | |
| - name: install packages | |
| run: apt-get update && apt-get install -y zlib1g-dev gcc g++ autoconf automake make cmake | |
| - name: build | |
| run: mkdir build && cd build && cmake -DSLOW5_LINK_STATIC=ON -DSLOW5_USE_ZSTD=OFF -DSLOW5_ENABLE_MT=OFF .. && make -j8 | |
| ubuntu_18: | |
| name: Ubuntu 18 | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: ubuntu:18.04 | |
| volumes: | |
| - /node20217:/node20217:rw,rshared | |
| - /node20217:/__e/node20:ro,rshared | |
| steps: | |
| - name: nodejs | |
| run: | | |
| apt-get update && apt-get install -y wget xz-utils | |
| wget https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz | |
| tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217 | |
| - uses: actions/checkout@v2 | |
| - name: install packages | |
| run: apt-get update && apt-get install -y zlib1g-dev valgrind gcc g++ autoconf automake make | |
| - name: build | |
| run: make -j8 | |
| - name: test | |
| run: make test | |
| - name: test valgrind | |
| run: ./test/test.sh mem | |
| - name: examples | |
| run: make examples | |
| ubuntu_18_zstd: | |
| name: Ubuntu 18 with zstd | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: ubuntu:18.04 | |
| volumes: | |
| - /node20217:/node20217:rw,rshared | |
| - /node20217:/__e/node20:ro,rshared | |
| steps: | |
| - name: nodejs | |
| run: | | |
| apt-get update && apt-get install -y wget xz-utils | |
| wget https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz | |
| tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217 | |
| - uses: actions/checkout@v2 | |
| - name: install packages | |
| run: apt-get update && apt-get install -y zlib1g-dev libzstd-dev valgrind gcc g++ autoconf automake make | |
| - name: build | |
| run: make -j8 zstd=1 | |
| - name: test | |
| run: make test zstd=1 | |
| - name: test valgrind | |
| run: ./test/test.sh mem | |
| ubuntu_20: | |
| name: Ubuntu 20 | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: ubuntu:20.04 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: install packages | |
| run: apt-get update && apt-get install -y zlib1g-dev gcc g++ autoconf automake make clang | |
| - name: build-gcc | |
| run: make -j8 | |
| - name: test-gcc | |
| run: make test | |
| - name: build-clang | |
| run: make clean && make CC=clang -j8 | |
| - name: test-clang | |
| run: make test | |
| ubuntu_20_icc: | |
| name: Ubuntu 20 icc | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: ubuntu:20.04 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: install packages | |
| run: apt-get update && apt-get install -y zlib1g-dev wget gcc g++ autoconf automake make libzstd-dev gnupg | |
| - name: Intel Apt repository | |
| timeout-minutes: 1 | |
| run: | | |
| wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB | |
| apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB | |
| rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB | |
| echo "deb https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list | |
| apt-get update | |
| - name: install packages | |
| run: apt-get update && apt-get install -y libzstd-dev intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic | |
| - name: Setup Intel oneAPI environment | |
| run: | | |
| . /opt/intel/oneapi/setvars.sh | |
| printenv >> $GITHUB_ENV | |
| - name: build | |
| run: make CC=icc -j8 | |
| - name: test | |
| run: make test CC=icc | |
| - name: build zstd | |
| run: make clean && make CC=icc -j8 zstd=1 | |
| - name: test zstd | |
| run: make test zstd=1 CC=icc | |
| ubuntu_22: | |
| name: Ubuntu 22 | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: install packages | |
| run: sudo apt-get update && sudo apt-get install zlib1g-dev | |
| - name: build-gcc | |
| run: make -j8 | |
| - name: test-gcc | |
| run: make test | |
| - name: make mt | |
| run: examples/mt/build.sh | |
| ubuntu_24: | |
| name: Ubuntu 24 | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: install packages | |
| run: sudo apt-get update && sudo apt-get install zlib1g-dev | |
| - name: build-gcc | |
| run: make -j8 | |
| - name: test-gcc | |
| run: make test | |
| - name: make mt | |
| run: examples/mt/build.sh | |
| os_x_14: | |
| name: OSX 14 | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: build | |
| run: make -j8 | |
| - name: test | |
| run: make test | |
| - name: examples | |
| run: make examples | |
| os_x_14_zstd: | |
| name: OSX 14 zstd | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: install packages | |
| run: brew install zstd | |
| - name: build | |
| run: LDFLAGS=-L/opt/homebrew/lib/ CPPFLAGS=-I/opt/homebrew/include/ make -j8 zstd=1 | |
| - name: test | |
| run: LDFLAGS=-L/opt/homebrew/lib/ CPPFLAGS=-I/opt/homebrew/include/ make test zstd=1 | |
| os_x_15: | |
| name: OSX 15 | |
| runs-on: macos-15 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: build | |
| run: make -j8 | |
| - name: test | |
| run: make test | |
| - name: examples | |
| run: make examples | |
| os_x_15_zstd: | |
| name: OSX 15 zstd | |
| runs-on: macos-15 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: install packages | |
| run: brew install zstd | |
| - name: build | |
| run: LDFLAGS=-L/opt/homebrew/lib/ CPPFLAGS=-I/opt/homebrew/include/ make -j8 zstd=1 | |
| - name: test | |
| run: LDFLAGS=-L/opt/homebrew/lib/ CPPFLAGS=-I/opt/homebrew/include/ make test zstd=1 | |
| arm64: | |
| name: ubuntu arm | |
| runs-on: ubuntu-latest | |
| steps: | |
| - run: docker run --rm --privileged multiarch/qemu-user-static:register --reset | |
| - uses: docker://multiarch/ubuntu-core:arm64-bionic | |
| with: | |
| args: 'uname -a' | |
| - uses: actions/checkout@v1 | |
| - uses: docker://multiarch/ubuntu-core:arm64-bionic | |
| with: | |
| args: > | |
| bash -c "apt-get update && | |
| apt-get install -y zlib1g-dev gcc make && | |
| ldd --version && gcc --version && | |
| make && make test" |