diff options
author | Jia Tan <jiat0218@gmail.com> | 2022-12-23 00:34:48 +0800 |
---|---|---|
committer | Jia Tan <jiat0218@gmail.com> | 2022-12-30 23:34:31 +0800 |
commit | 9f05c27a58ce8cd7803079aa295e41c24665ce6e (patch) | |
tree | b8566cdf8ee5cc02f9f3a05ae6dabea44142b64c /.github/workflows/ci.yml | |
parent | liblzma: Update documentation for lzma_filter_encoder. (diff) | |
download | xz-9f05c27a58ce8cd7803079aa295e41c24665ce6e.tar.xz |
CI/CD: Create initial version of CI/CD workflow.
The CI/CD workflow will only execute on Ubuntu and MacOS latest version.
The workflow will attempt to build with autotools and CMake and execute
the tests. The workflow will run for all pull requests and pushes done
to the master branch.
Diffstat (limited to '.github/workflows/ci.yml')
-rw-r--r-- | .github/workflows/ci.yml | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..d86c696c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,72 @@ +############################################################################# +# +# Author: Jia Tan +# +# This file has been put into the public domain. +# You can do whatever you want with this file. +# +############################################################################# + +name: CI + +on: + # Triggers the workflow on push or pull request events but only for the master branch + push: + branches: [ master ] + pull_request: + branches: [ master ] + + # Allows running workflow manually + workflow_dispatch: + +jobs: + # When CMake can support disabling check types and + # encoders/decoders/threads, it will be combined to one Linux job + # and another matrix list. + Linux-Autotools: + # Just run on latest ubuntu + runs-on: ubuntu-latest + strategy: + matrix: + check_types: ["crc32", "crc32,crc64", "crc32,sha256", "crc32,crc64,sha256"] + disable: [encoders, decoders, bcj, delta, threads] + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + - name: Install Dependencies + run: sudo apt-get install -y autoconf automake build-essential po4a autopoint + - name: Build + run: ./build-aux/ci_build.sh -b autotools -c ${{ matrix.check_types }} -d ${{ matrix.disable }} + + Linux-CMake: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install Dependencies + run: sudo apt-get install -y build-essential cmake + - name: Build + run: ./build-aux/ci_build.sh -b cmake + + MacOS-Autotools: + runs-on: macos-latest + strategy: + matrix: + check_types: ["crc32", "crc32,crc64", "crc32,sha256", "crc32,crc64,sha256"] + disable: [encoders, decoders, bcj, delta, threads] + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + - name: Install Dependencies + run: brew install autoconf automake libtool po4a + - name: Build + run: ./build-aux/ci_build.sh -b autotools -c ${{ matrix.check_types }} -d ${{ matrix.disable }} + + MacOS-CMake: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Install Dependencies + run: brew install cmake + - name: Build + run: ./build-aux/ci_build.sh -b cmake +
\ No newline at end of file |