1
0
Fork 0
mirror of https://git.tukaani.org/xz.git synced 2024-04-04 12:36:23 +02:00
xz-archive/.github/workflows/ci.yml
Jia Tan 57464bb4eb CI/CD: Add 32-bit build and test steps to Ubuntu autotools runner.
If all goes well, Mac autotools and Linux and Mac CMake will be added
later for 32-bit builds.
2023-01-11 00:54:45 +08:00

152 lines
No EOL
5.6 KiB
YAML

#############################################################################
#
# 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
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 gcc-multilib
# -b specifies the build system to use.
# -p specifies the phase (build or test) to help narrow down an error
# if one occurs.
- name: Build with full features
run: ./build-aux/ci_build.sh -b autotools -p build
- name: Test with full features
run: ./build-aux/ci_build.sh -b autotools -p test
- name: Build without encoders
run: ./build-aux/ci_build.sh -b autotools -d encoders -p build
- name: Test without encoders
run: ./build-aux/ci_build.sh -b autotools -d encoders -p test
- name: Build without decoders
run: ./build-aux/ci_build.sh -b autotools -d decoders -p build
- name: Test without decoders
run: ./build-aux/ci_build.sh -b autotools -d decoders -p test
- name: Build without threads
run: ./build-aux/ci_build.sh -b autotools -d threads -p build
- name: Test without threads
run: ./build-aux/ci_build.sh -b autotools -d threads -p test
- name: Build without BCJ filters
run: ./build-aux/ci_build.sh -b autotools -d bcj -p build
- name: Test without BCJ filters
run: ./build-aux/ci_build.sh -b autotools -d bcj -p test
- name: Build without Delta filters
run: ./build-aux/ci_build.sh -b autotools -d delta -p build
- name: Test without Delta filters
run: ./build-aux/ci_build.sh -b autotools -d delta -p test
- name: Build without sha256 check
run: ./build-aux/ci_build.sh -b autotools -c crc32,crc64 -p build
- name: Test without sha256 check
run: ./build-aux/ci_build.sh -b autotools -c crc32,crc64 -p test
- name: Build without crc64 check
run: ./build-aux/ci_build.sh -b autotools -c crc32,sha256 -p build
- name: Test without crc64 check
run: ./build-aux/ci_build.sh -b autotools -c crc32,sha256 -p test
- name: Build 32-bit
run: ./build-aux/ci_build.sh -b autotools -p build -f "-m32"
- name: Test 32-bit
run: ./build-aux/ci_build.sh -b autotools -p test -f "-m32"
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 -p build
- name: Test
run: ./build-aux/ci_build.sh -b cmake -p test
MacOS-Autotools:
runs-on: macos-latest
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 with full features
run: ./build-aux/ci_build.sh -b autotools -p build
- name: Test with full features
run: ./build-aux/ci_build.sh -b autotools -p test
- name: Build without encoders
run: ./build-aux/ci_build.sh -b autotools -d encoders -p build
- name: Test without encoders
run: ./build-aux/ci_build.sh -b autotools -d encoders -p test
- name: Build without decoders
run: ./build-aux/ci_build.sh -b autotools -d decoders -p build
- name: Test without decoders
run: ./build-aux/ci_build.sh -b autotools -d decoders -p test
- name: Build without threads
run: ./build-aux/ci_build.sh -b autotools -d threads -p build
- name: Test without threads
run: ./build-aux/ci_build.sh -b autotools -d threads -p test
- name: Build without BCJ filters
run: ./build-aux/ci_build.sh -b autotools -d bcj -p build
- name: Test without BCJ filters
run: ./build-aux/ci_build.sh -b autotools -d bcj -p test
- name: Build without Delta filters
run: ./build-aux/ci_build.sh -b autotools -d delta -p build
- name: Test without Delta filters
run: ./build-aux/ci_build.sh -b autotools -d delta -p test
- name: Build without sha256 check
run: ./build-aux/ci_build.sh -b autotools -c crc32,crc64 -p build
- name: Test without sha256 check
run: ./build-aux/ci_build.sh -b autotools -c crc32,crc64 -p test
- name: Build without crc64 check
run: ./build-aux/ci_build.sh -b autotools -c crc32,sha256 -p build
- name: Test without crc64 check
run: ./build-aux/ci_build.sh -b autotools -c crc32,sha256 -p test
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 -p build
- name: Test
run: ./build-aux/ci_build.sh -b cmake -p test