Update GitHub CI.

This commit is contained in:
Markus F.X.J. Oberhumer 2020-12-05 04:37:30 +01:00
parent 7841e15583
commit 8d3e1d28a7
2 changed files with 90 additions and 63 deletions

View File

@ -1,63 +0,0 @@
# Support for GitHub Actions -- https://github.com/features/actions
# Copyright (C) Markus Franz Xaver Johannes Oberhumer
name: GitHub CI
on:
push:
branches:
- '*'
- '!appveyor*'
- '!gitlab*'
- '!travis*'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- { os: ubuntu-20.04, C: clang-10-m64 }
- { os: ubuntu-20.04, C: gcc-10-m64 }
#- { os: ubuntu-20.04, X: rebuild-stubs }
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
#if: contains(matrix.os, 'ubuntu')
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
with: { submodules: true }
- name: 'Step: prepare sources'
run: |
export C=${{matrix.C}} B=${{matrix.B}} T=${{matrix.T}} X=${{matrix.X}} TRAVIS_OS_NAME=linux
uname -a; pwd; id; umask
#cat /etc/os-release || true
#env
cd ..; mkdir -p deps build/github; cd deps
wget -q -O - https://github.com/upx/upx/releases/download/v3.00/ucl-1.03.tar.xz | tar -xJ
wget -q -O - https://github.com/upx/upx/releases/download/v3.00/zlib-1.2.8.tar.xz | tar -xJ
git clone https://github.com/upx/upx-testsuite
if [[ $X =~ (^|\+)rebuild-stubs($|\+) ]]; then
wget -q -O - https://github.com/upx/upx-stubtools/releases/download/v20160918/bin-upx-20160918.tar.xz | tar -xJ
fi
- name: 'Step: build'
run: |
export C=${{matrix.C}} B=${{matrix.B}} T=${{matrix.T}} X=${{matrix.X}} TRAVIS_OS_NAME=linux
bash ./.github/travis_build.sh
- name: 'Step: run testsuite'
run: |
export C=${{matrix.C}} B=${{matrix.B}} T=${{matrix.T}} X=${{matrix.X}} TRAVIS_OS_NAME=linux
bash ./.github/travis_testsuite_1.sh
# vim:set ts=2 sw=2 et:

90
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,90 @@
# Support for GitHub Actions -- https://github.com/features/actions
# Copyright (C) Markus Franz Xaver Johannes Oberhumer
name: 'CI'
on:
push:
branches:
- '*'
- '!appveyor*'
- '!gitlab*'
- '!travis*'
workflow_dispatch:
jobs:
rebuild-stubs:
name: 'Rebuild stubs'
runs-on: ubuntu-16.04
steps:
- name: 'Install extra packages'
run: |
uname -a; pwd; id; umask
export DEBIAN_FRONTEND=noninteractive
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install -y libmpfr4:i386 zlib1g:i386
cd ..; mkdir -p deps; cd deps
wget -q -O - https://github.com/upx/upx-stubtools/releases/download/v20160918/bin-upx-20160918.tar.xz | tar -xJ
- name: 'Check out code'
uses: actions/checkout@v2
with: { submodules: true }
- name: 'Rebuild and verify stubs'
run: |
export C=gcc X=rebuild-stubs TRAVIS_OS_NAME=linux
bash ./.github/travis_build.sh
build-and-test-upx:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- { name: amd64-linux-clang-10, os: ubuntu-20.04, C: clang-10-m64 }
- { name: amd64-linux-gcc-10, os: ubuntu-20.04, C: gcc-10-m64 }
- { name: i386-linux-clang-10, os: ubuntu-20.04, C: clang-10-m32 }
- { name: i386-linux-gcc-10, os: ubuntu-20.04, C: gcc-10-m32 }
steps:
- name: 'Install extra packages'
run: |
uname -a; pwd; id; umask
#cat /etc/os-release || true
#env
if [[ ${{ matrix.os }} =~ ^ubuntu ]]; then
export DEBIAN_FRONTEND=noninteractive
if [[ ${{ matrix.C }} =~ ^(clang|gcc).*-m32$ ]]; then
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install -y g++-9-multilib g++-10-multilib zlib1g-dev:i386
fi
fi
- name: 'Check out code'
uses: actions/checkout@v2
with: { submodules: true }
- name: 'Prepare sources'
run: |
cd ..; mkdir -p deps build/github; cd deps
wget -q -O - https://github.com/upx/upx/releases/download/v3.00/ucl-1.03.tar.xz | tar -xJ
wget -q -O - https://github.com/upx/upx/releases/download/v3.00/zlib-1.2.8.tar.xz | tar -xJ
git clone --depth=1 https://github.com/upx/upx-testsuite
- name: 'Build'
run: |
if [[ ${{ matrix.name }} =~ linux-(clang|gcc) ]]; then
export C=${{matrix.C}} B=${{matrix.B}} T=${{matrix.T}} X=${{matrix.X}} TRAVIS_OS_NAME=linux
export BUILD_LOCAL_UCL=1
bash ./.github/travis_build.sh
fi
- name: 'Run test suite'
run: |
export C=${{matrix.C}} B=${{matrix.B}} T=${{matrix.T}} X=${{matrix.X}} TRAVIS_OS_NAME=linux
bash ./.github/travis_testsuite_1.sh
# vim:set ts=2 sw=2 et: