91 lines
2.9 KiB
YAML
91 lines
2.9 KiB
YAML
# 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:
|