From ac9079a7392339c8092860dcb78c3438f5cb3684 Mon Sep 17 00:00:00 2001 From: Johnny Chen Date: Sun, 6 Feb 2022 10:48:54 +0800 Subject: [PATCH] CI: add more test targets - ubuntu-x86 - freebsd-x64 - linux with musl libc - linux-aarch64 --- .cirrus.yml | 17 +++++++++++++ .github/workflows/UnitTest.yml | 3 +++ .github/workflows/UnitTest_aarch.yml | 33 +++++++++++++++++++++++++ .github/workflows/UnitTest_musl.yml | 36 ++++++++++++++++++++++++++++ README.md | 17 ++++++++++++- 5 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 .cirrus.yml create mode 100644 .github/workflows/UnitTest_aarch.yml create mode 100644 .github/workflows/UnitTest_musl.yml diff --git a/.cirrus.yml b/.cirrus.yml new file mode 100644 index 0000000..d870e22 --- /dev/null +++ b/.cirrus.yml @@ -0,0 +1,17 @@ +freebsd_instance: + image_family: freebsd-14-0-snap +task: + name: FreeBSD + env: + matrix: + # - JULIA_VERSION: 1.6 + - JULIA_VERSION: 1 + # - JULIA_VERSION: nightly + install_script: + - sh -c "$(fetch https://raw.githubusercontent.com/ararslan/CirrusCI.jl/master/bin/install.sh -o -)" + build_script: + - cirrusjl build + test_script: + - cirrusjl test + coverage_script: + - cirrusjl coverage codecov coveralls diff --git a/.github/workflows/UnitTest.yml b/.github/workflows/UnitTest.yml index f7f5a1c..eedb2af 100644 --- a/.github/workflows/UnitTest.yml +++ b/.github/workflows/UnitTest.yml @@ -32,6 +32,9 @@ jobs: - os: macOS-latest version: '1' arch: x64 + - os: ubuntu-latest + version: '1' + arch: x86 steps: - uses: actions/checkout@v2 - uses: julia-actions/setup-julia@v1 diff --git a/.github/workflows/UnitTest_aarch.yml b/.github/workflows/UnitTest_aarch.yml new file mode 100644 index 0000000..c52f1f0 --- /dev/null +++ b/.github/workflows/UnitTest_aarch.yml @@ -0,0 +1,33 @@ +name: UnitTest (aarch) +on: + push: + branches: + - master + tags: '*' + pull_request: +concurrency: + # Skip intermediate builds: always. + # Cancel intermediate builds: only if it is a pull request build. + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} +jobs: + test_aarch: + runs-on: ubuntu-latest + name: Julia 1 - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + strategy: + fail-fast: false + matrix: + include: + - arch: aarch64 + os: ubuntu20.04 + steps: + - uses: actions/checkout@v2 + - uses: uraimo/run-on-arch-action@v2 + with: + arch: ${{ matrix.arch }} + distro: ${{ matrix.os }} + run: | + pip3 install jill + jill install --confirm + julia --project=. --color=yes -e 'using Pkg; Pkg.instantiate()' + julia --project=. --color=yes -e 'using Pkg; Pkg.test()' diff --git a/.github/workflows/UnitTest_musl.yml b/.github/workflows/UnitTest_musl.yml new file mode 100644 index 0000000..af14e98 --- /dev/null +++ b/.github/workflows/UnitTest_musl.yml @@ -0,0 +1,36 @@ +name: UnitTest (musl) +on: + push: + branches: + - master + tags: '*' + pull_request: +concurrency: + # Skip intermediate builds: always. + # Cancel intermediate builds: only if it is a pull request build. + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} +jobs: + test_musl: + runs-on: ubuntu-latest + name: Julia 1 - ${{ matrix.os }} (musl) - ${{ matrix.arch }} - ${{ github.event_name }} + strategy: + fail-fast: false + matrix: + sys: [linux-musl] + version: [1] + steps: + - uses: actions/checkout@v2 + - name: Add symlink dir to PATH + run: echo "$HOME/.local/bin" >> $GITHUB_PATH + - name: Set up Python + uses: actions/setup-python@v2 + - name: Set up Julia + run: | + pip install jill + jill install ${{ matrix.version }} --confirm + julia --project=. -e 'using InteractiveUtils; versioninfo()' + julia --project=. --color=yes -e 'using Pkg; Pkg.instantiate()' + - name: Test julia + run: | + julia --project=. --color=yes -e 'using Pkg; Pkg.test()' diff --git a/README.md b/README.md index b6dd427..1596c17 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,15 @@ [![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://johnnychen94.github.io/JpegTurbo.jl/stable) [![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://johnnychen94.github.io/JpegTurbo.jl/dev) -[![Build Status](https://github.com/johnnychen94/JpegTurbo.jl/actions/workflows/UnitTest.yml/badge.svg?branch=master)](https://github.com/johnnychen94/JpegTurbo.jl/actions/workflows/UnitTest.yml?query=branch%3Amaster) [![Coverage](https://codecov.io/gh/johnnychen94/JpegTurbo.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/johnnychen94/JpegTurbo.jl) +| **Platform** | **Build Status** | +|:------------------------------------------:|:--------------------------------------------------------:| +| Linux x86/x64 && MacOS x64 && Windows x64 | [![Github Action][github-action-img]][github-action-url] | +| Linux aarch64 | [![Github Action][github-action-aarch-img]][github-action-aarch-url] | +| Linux musl | [![Github Action][github-action-musl-img]][github-action-musl-url] | +| FreeBSD x86_64 | [![Cirrus][cirrus-img]][cirrus-url] | + JpegTurbo.jl is a Julia wrapper of the C library [libjpeg-turbo] that provides IO support for the JPEG image format. This package also backs the JPEG IO part of [ImageIO] and [FileIO]. @@ -101,3 +107,12 @@ his generous guidance. [ImageMagick.jl]: https://github.com/JuliaIO/ImageMagick.jl [Sixel.jl]: https://github.com/johnnychen94/Sixel.jl [Yupei Qi]: https://github.com/Gnimuc + +[github-action-img]: https://github.com/johnnychen94/JpegTurbo.jl/actions/workflows/UnitTest.yml/badge.svg +[github-action-url]: https://github.com/johnnychen94/JpegTurbo.jl/actions/workflows/UnitTest.yml +[github-action-aarch-img]: https://github.com/johnnychen94/JpegTurbo.jl/actions/workflows/UnitTest_aarch.yml/badge.svg +[github-action-aarch-url]: https://github.com/johnnychen94/JpegTurbo.jl/actions/workflows/UnitTest_aarch.yml +[github-action-musl-img]: https://github.com/johnnychen94/JpegTurbo.jl/actions/workflows/UnitTest_musl.yml/badge.svg +[github-action-musl-url]: https://github.com/johnnychen94/JpegTurbo.jl/actions/workflows/UnitTest_musl.yml +[cirrus-img]: https://api.cirrus-ci.com/github/johnnychen94/JpegTurbo.jl.svg +[cirrus-url]: https://cirrus-ci.com/github/johnnychen94/JpegTurbo.jl