From 5b01b5805af3ccc2d293892d75626bbc945beb35 Mon Sep 17 00:00:00 2001 From: Takayuki Matsuoka Date: Tue, 1 Jun 2021 20:03:48 +0900 Subject: Update document for .github/workflows --- .github/workflows/README.md | 53 ++++++++++++++++++++------------------------- .github/workflows/ci.yml | 20 ++++++++++++----- 2 files changed, 39 insertions(+), 34 deletions(-) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index 0045d1e..eddfd3f 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -1,36 +1,15 @@ This directory contains [GitHub Actions](https://github.com/features/actions) workflow files. -# Known issue which will be resolved soon - -- `make cxxtest` - - Disabled for now. Will be enabled after #993. -- `make c_standards_c90`, `make c_standards_c11` - - Disabled for now. Will be enabled after #994. - - # Maintenance Schedule -`ubuntu-16.04` environment will be removed at September, 2021. --------------------------------------------------------------- +[`ubuntu-16.04` environment will be removed at September, 2021.]((https://github.blog/changelog/2021-04-29-github-actions-ubuntu-16-04-lts-virtual-environment-will-be-removed-on-september-20-2021/). +---------------------------------------------------------------- -It also will remove test for the following compilers: +We also will remove test for the following compilers. - gcc: 4.4, 4.6, 4.7 - clang: 3.5, 3.6, 3.7, 3.8 -See also GitHub official announcement : -["Ubuntu 16.04 LTS will be removed on September 20, 2021"](https://github.blog/changelog/2021-04-29-github-actions-ubuntu-16-04-lts-virtual-environment-will-be-removed-on-september-20-2021/). - - -# Difference with `.travis.yml` - -The following tests are not included yet. - -- name: Compile OSS-Fuzz targets -- name: tag build -- name: aarch64 real-hw tests -- name: PPC64LE real-hw tests -- name: IBM s390x real-hw tests # Known issues @@ -42,7 +21,7 @@ Because there're several issues which may take relatively long time to resolve. We'll fully enable it when we ensure `make usan` is ready for all commits and PRs. -See https://github.com/lz4/lz4/pull/983 for details. +See [#983](https://github.com/lz4/lz4/pull/983) for details. ## C Compilers (`lz4-c-compilers`) @@ -55,17 +34,19 @@ See https://github.com/lz4/lz4/pull/983 for details. - See [#991](https://github.com/lz4/lz4/issues/991) for details. - Currently, the following 32bit executable tests fail with `gcc-11` - - `CC=clang-X CFLAGS='-O3' make V=1 -C tests clean test-lz4c32` - - `CC=clang-X CFLAGS='-O3 -mx32' make V=1 -C tests clean test-lz4c32` + - `CC=gcc-11 CFLAGS='-O3' make V=1 -C tests clean test-lz4c32` + - `CC=gcc-11 CFLAGS='-O3 -mx32' make V=1 -C tests clean test-lz4c32` + - See [#991](https://github.com/lz4/lz4/issues/991) for details. -## cppcheck.yml +## cppcheck (`lz4-cppcheck`) This test script ignores the exit code of `make cppcheck`. Because this project doesn't 100% follow their recommendation. Also sometimes it reports false positives. + # Notes - You can investigate various information at the right pane of GitHub @@ -75,4 +56,18 @@ Also sometimes it reports false positives. | ------------------------- | ------------------------------------- | | OS, VM | Set up job | | git repo, commit hash | Run actions/checkout@v2 | -| gcc, tools | Environment info | +| Version of tools | Environment info | + + + +# Difference with `.travis.yml` + +The following tests are not included yet. + +- name: Compile OSS-Fuzz targets + +The following tests will not be included due to limitation of GH-Actions. + +- name: aarch64 real-hw tests +- name: PPC64LE real-hw tests +- name: IBM s390x real-hw tests diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 041168b..c23e0a8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,8 +8,8 @@ # # Known Issue # - All test cases which described as 'fail' must be fixed and replaced with 'true'. -# - gcc-11 x32, x86 asserts. -# - all clangs: x32, x86 asserts. +# - gcc-11 (x32, x86) : "../lib/lz4hc.c:148: LZ4HC_countBack: Assertion `(size_t)(match - mMin) < (1U<<31)' failed." +# - all clangs (x32, x86) : "../lib/lz4hc.c:282: int LZ4HC_InsertAndGetWiderMatch(...): Assertion `matchPtr >= lowPrefixPtr' failed." # name: lz4 CI on: [push, pull_request] @@ -39,7 +39,7 @@ jobs: # gcc { pkgs: '', cc: gcc, cxx: g++, stdc11: 'true', stdc90: 'true', x32: 'true', x86: 'true', cxxtest: 'true', os: ubuntu-latest, }, - { pkgs: 'gcc-11 lib32gcc-11-dev libx32gcc-11-dev', cc: gcc-11, cxx: g++-11, stdc11: 'true', stdc90: 'true', x32: 'fail', x86: 'fail', cxxtest: 'true', os: ubuntu-20.04, }, # x32:assert(lz4hc.c:148), x86:assert(lz4hc.c:148) + { pkgs: 'gcc-11 lib32gcc-11-dev libx32gcc-11-dev', cc: gcc-11, cxx: g++-11, stdc11: 'true', stdc90: 'true', x32: 'fail', x86: 'fail', cxxtest: 'true', os: ubuntu-20.04, }, { pkgs: 'gcc-10 lib32gcc-10-dev libx32gcc-10-dev', cc: gcc-10, cxx: g++-10, stdc11: 'true', stdc90: 'true', x32: 'true', x86: 'true', cxxtest: 'true', os: ubuntu-20.04, }, { pkgs: 'gcc-9 lib32gcc-9-dev libx32gcc-9-dev', cc: gcc-9, cxx: g++-9, stdc11: 'true', stdc90: 'true', x32: 'true', x86: 'true', cxxtest: 'true', os: ubuntu-20.04, }, { pkgs: 'gcc-8 g++-8 lib32gcc-8-dev libx32gcc-8-dev', cc: gcc-8, cxx: g++-8, stdc11: 'true', stdc90: 'true', x32: 'true', x86: 'true', cxxtest: 'true', os: ubuntu-20.04, }, @@ -330,7 +330,7 @@ jobs: - name: ubsan ######################################################### # For now, we ignore the exit code of `make usan`. - # See "Known issues / lz4-ubsan" in README.md + # See "Known issues / lz4-ubsan-x64" in README.md # When we'll resolve this issue, remove "|| $FIXME__LZ4_CI_IGNORE" ######################################################### run: make V=1 clean usan MOREFLAGS='-Wcomma -Werror' || $FIXME__LZ4_CI_IGNORE @@ -352,7 +352,7 @@ jobs: - name: ubsan32 ######################################################### # For now, we ignore the exit code of `make usan32`. - # See "Known issues / ubsan.yml" in README.md. + # See "Known issues / lz4-ubsaan-x86" in README.md. # When we'll resolve this issue, remove "|| $FIXME__LZ4_CI_IGNORE" ######################################################### run: CC=clang make V=1 clean usan32 MOREFLAGS='-Wcomma -Werror' || $FIXME__LZ4_CI_IGNORE @@ -386,6 +386,16 @@ jobs: # QEMU # All tests use QEMU (static) and gcc cross compiler. + # + # note: + # We don't employ completely matrix method which provides `MOREFLAGS` + # etc in the matrix. Because some platform may need its special + # compiler options and test. + # For example, xxHash already has tests for scalar and SIMD version of + # it. But compiler options are quite different between platforms. + # + # So, please keep them simple and independent. + # lz4-qemu-platforms: name: QEMU ${{ matrix.type }} strategy: -- cgit v0.12