Merge pull request #446 from libexpat/quickport-remaining-travis-ci-to-github-actions
Quick-port Linux jobs from Travis CI to GitHub Actions
This commit is contained in:
commit
3bc4eac843
85
.github/workflows/linux.yml
vendored
Normal file
85
.github/workflows/linux.yml
vendored
Normal file
@ -0,0 +1,85 @@
|
||||
# Copyright (C) 2021 Sebastian Pipping <sebastian@pipping.org>
|
||||
# Licensed under the MIT license
|
||||
|
||||
name: Run Linux Travis CI tasks
|
||||
|
||||
on:
|
||||
- pull_request
|
||||
- push
|
||||
|
||||
jobs:
|
||||
checks:
|
||||
name: Perform checks
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
# NOTE: This is a quick port from .travis.yml in reaction to
|
||||
# stability issues at Travis CI.
|
||||
- MODE: cmake-oos
|
||||
- MODE: distcheck
|
||||
- MODE: qa-sh
|
||||
FLAT_ENV: CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address
|
||||
- MODE: clang-format
|
||||
- MODE: cmake-oos
|
||||
FLAT_ENV: CMAKE_ARGS="-DEXPAT_ATTR_INFO=ON -DEXPAT_BUILD_FUZZERS=ON -DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_CXX_FLAGS=-fsanitize=address -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++"
|
||||
- MODE: coverage-sh
|
||||
- MODE: qa-sh
|
||||
FLAT_ENV: CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address CMAKE_ARGS=-DEXPAT_ATTR_INFO=ON
|
||||
- MODE: qa-sh
|
||||
FLAT_ENV: CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address CMAKE_ARGS=-DEXPAT_CONTEXT_BYTES=OFF
|
||||
- MODE: qa-sh
|
||||
FLAT_ENV: CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address CMAKE_ARGS=-DEXPAT_DTD=OFF
|
||||
- MODE: qa-sh
|
||||
FLAT_ENV: CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address CMAKE_ARGS=-DEXPAT_LARGE_SIZE=ON
|
||||
- MODE: qa-sh
|
||||
FLAT_ENV: CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address CMAKE_ARGS=-DEXPAT_MIN_SIZE=ON
|
||||
- MODE: qa-sh
|
||||
FLAT_ENV: CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address CMAKE_ARGS=-DEXPAT_NS=OFF
|
||||
- MODE: qa-sh
|
||||
FLAT_ENV: CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=memory
|
||||
- MODE: qa-sh
|
||||
FLAT_ENV: CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=undefined
|
||||
- MODE: qa-sh
|
||||
FLAT_ENV: CC=gcc CXX=g++ LD=ld QA_PROCESSOR=gcov
|
||||
- MODE: qa-sh
|
||||
FLAT_ENV: CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ LD=i686-w64-mingw32-ld QA_PROCESSOR=gcov CMAKE_ARGS="-DCMAKE_SYSTEM_NAME=Windows -DWIN32=ON -DMINGW=ON -DEXPAT_ATTR_INFO=ON"
|
||||
- MODE: qa-sh
|
||||
FLAT_ENV: CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ LD=i686-w64-mingw32-ld QA_PROCESSOR=gcov CMAKE_ARGS="-DCMAKE_SYSTEM_NAME=Windows -DWIN32=ON -DMINGW=ON -DEXPAT_ATTR_INFO=ON -DEXPAT_CHAR_TYPE=wchar_t"
|
||||
runs-on: ubuntu-18.04
|
||||
env:
|
||||
CFLAGS: -g3 -pipe
|
||||
steps:
|
||||
- uses: actions/checkout@v2.3.4
|
||||
- name: Add Clang/LLVM repositories
|
||||
run: |-
|
||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||
sudo add-apt-repository 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main'
|
||||
- name: Install build dependencies
|
||||
# NOTE: Please note the version-specific ${PATH} extension for Clang in .travis.sh
|
||||
run: |-
|
||||
sudo dpkg --add-architecture i386 # for wine32
|
||||
sudo apt-get update
|
||||
sudo apt-get install --yes --no-install-recommends -V \
|
||||
clang-11 \
|
||||
clang-format-11 \
|
||||
llvm-11 \
|
||||
cmake \
|
||||
docbook2x \
|
||||
dos2unix \
|
||||
lcov \
|
||||
libbsd-dev \
|
||||
lzip \
|
||||
mingw-w64 \
|
||||
moreutils \
|
||||
wine-stable \
|
||||
wine32
|
||||
- name: Unshallow Git clone (as needed)
|
||||
if: matrix.MODE == 'coverage-sh'
|
||||
run: |
|
||||
git fetch --tags --unshallow origin # for "git describe" in coverage.sh
|
||||
- name: Perform check "${{ matrix.MODE }}"
|
||||
env:
|
||||
MODE: ${{ matrix.MODE }}
|
||||
TRAVIS_OS_NAME: linux
|
||||
run: |
|
||||
env ${{ matrix.FLAT_ENV }} ./.travis.sh
|
81
.travis.yml
81
.travis.yml
@ -1,81 +0,0 @@
|
||||
# Copyright (C) 2017 Sebastian Pipping <sebastian@pipping.org>
|
||||
# Licensed under the MIT license
|
||||
|
||||
language: cpp
|
||||
os:
|
||||
- linux
|
||||
dist: bionic
|
||||
|
||||
git:
|
||||
depth: 50
|
||||
|
||||
env:
|
||||
global:
|
||||
- CFLAGS='-g3 -pipe'
|
||||
matrix:
|
||||
# NOTE: There is a copy of this matrix at .github/workflows/macos.yml
|
||||
# for GitHub Actions. While we have the matrix in two places,
|
||||
# please keep the two files in sync. Thank you!
|
||||
- MODE=cmake-oos
|
||||
- MODE=distcheck
|
||||
- MODE=qa-sh CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- os: linux
|
||||
env: MODE=clang-format
|
||||
- os: linux
|
||||
env: MODE=cmake-oos CMAKE_ARGS="-DEXPAT_ATTR_INFO=ON -DEXPAT_BUILD_FUZZERS=ON -DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_CXX_FLAGS=-fsanitize=address -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++"
|
||||
- os: linux
|
||||
env: MODE=coverage-sh
|
||||
- os: linux
|
||||
env: MODE=qa-sh CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address CMAKE_ARGS=-DEXPAT_ATTR_INFO=ON
|
||||
- os: linux
|
||||
env: MODE=qa-sh CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address CMAKE_ARGS=-DEXPAT_CONTEXT_BYTES=OFF
|
||||
- os: linux
|
||||
env: MODE=qa-sh CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address CMAKE_ARGS=-DEXPAT_DTD=OFF
|
||||
- os: linux
|
||||
env: MODE=qa-sh CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address CMAKE_ARGS=-DEXPAT_LARGE_SIZE=ON
|
||||
- os: linux
|
||||
env: MODE=qa-sh CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address CMAKE_ARGS=-DEXPAT_MIN_SIZE=ON
|
||||
- os: linux
|
||||
env: MODE=qa-sh CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address CMAKE_ARGS=-DEXPAT_NS=OFF
|
||||
- os: linux
|
||||
env: MODE=qa-sh CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=memory
|
||||
- os: linux
|
||||
env: MODE=qa-sh CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=undefined
|
||||
- os: linux
|
||||
env: MODE=qa-sh CC=gcc CXX=g++ LD=ld QA_PROCESSOR=gcov
|
||||
- os: linux
|
||||
env: MODE=qa-sh CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ LD=i686-w64-mingw32-ld QA_PROCESSOR=gcov CMAKE_ARGS="-DCMAKE_SYSTEM_NAME=Windows -DWIN32=ON -DMINGW=ON -DEXPAT_ATTR_INFO=ON"
|
||||
- os: linux
|
||||
env: MODE=qa-sh CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ LD=i686-w64-mingw32-ld QA_PROCESSOR=gcov CMAKE_ARGS="-DCMAKE_SYSTEM_NAME=Windows -DWIN32=ON -DMINGW=ON -DEXPAT_ATTR_INFO=ON -DEXPAT_CHAR_TYPE=wchar_t"
|
||||
|
||||
addons:
|
||||
homebrew:
|
||||
update: true
|
||||
brewfile: true
|
||||
apt:
|
||||
sources:
|
||||
- sourceline: "deb https://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main"
|
||||
key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key"
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
# NOTE: Please note the version-specific ${PATH} extension for clang in .travis.sh
|
||||
- clang-11
|
||||
- clang-format-11
|
||||
- llvm-11
|
||||
- cmake
|
||||
- cppcheck
|
||||
- docbook2x
|
||||
- dos2unix
|
||||
- lcov
|
||||
- libbsd-dev
|
||||
- lzip
|
||||
- mingw-w64
|
||||
- moreutils
|
||||
- wine-stable
|
||||
- wine32
|
||||
|
||||
script:
|
||||
- ./.travis.sh
|
Loading…
Reference in New Issue
Block a user