diff --git a/.github/workflows/ci-build-linux.yml b/.github/workflows/ci-build-linux.yml deleted file mode 100644 index 257b14ce..00000000 --- a/.github/workflows/ci-build-linux.yml +++ /dev/null @@ -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: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..ecbc3943 --- /dev/null +++ b/.github/workflows/ci.yml @@ -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: