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