Switch to GitHub actions

This commit is contained in:
TheAssassin 2020-12-10 22:10:04 +01:00
parent 3e05627373
commit 575dde281d
7 changed files with 101 additions and 82 deletions

99
.github/workflows/main.yml vendored Normal file
View File

@ -0,0 +1,99 @@
name: CI
on: [push, pull_request]
jobs:
appimage-x86_64:
name: Ubuntu latest x86_64 AppImage build
runs-on: ubuntu-latest
env:
ARCH: x86_64
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libmagic-dev libjpeg-dev libpng-dev cimg-dev
- name: Build AppImage
run: bash -ex ci/build.sh
- name: Archive artifacts
uses: actions/upload-artifact@v2
with:
name: AppImage x86_64
path: linuxdeploy*.AppImage*
appimage-i386:
name: Ubuntu latest i386 AppImage build
runs-on: ubuntu-latest
env:
ARCH: x86_64
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libmagic-dev libjpeg-dev libpng-dev cimg-dev
- name: Build AppImage
run: bash -ex ci/build.sh
- name: Archive artifacts
uses: actions/upload-artifact@v2
with:
name: AppImage i386
path: linuxdeploy*.AppImage*
coverage-x86_64:
name: Ubuntu latest x86_64 coverage build (no binaries uploaded)
runs-on: ubuntu-latest
env:
ARCH: x86_64
BUILD_TYPE: coverage
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libmagic-dev libjpeg-dev libpng-dev cimg-dev
- name: Build AppImage
run: bash -ex ci/build.sh
coverage-i386:
name: Ubuntu latest x86_64 coverage build (no binaries uploaded)
runs-on: ubuntu-latest
env:
ARCH: x86_64
BUILD_TYPE: coverage
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libmagic-dev libjpeg-dev libpng-dev cimg-dev
- name: Build AppImage
run: bash -ex ci/build.sh
upload:
name: Create release and upload artifacts
needs:
- appimage-x86_64
- appimage-i386
runs-on: ubuntu-latest
steps:
- name: Download artifacts
uses: actions/download-artifact@v2
- name: Inspect directory after downloading artifacts
run: ls -alFR
- name: Create release and upload artifacts
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
wget -q https://github.com/TheAssassin/pyuploadtool/releases/download/continuous/pyuploadtool-x86_64.AppImage
chmod +x pyuploadtool-x86_64.AppImage
./pyuploadtool-x86_64.AppImage **/linuxdeploy*.AppImage*

View File

@ -1,80 +0,0 @@
language: cpp
matrix:
include:
- name: Ubuntu bionic x86_64 release build
env: ARCH=x86_64
dist: bionic
addons:
apt:
update: true
packages:
- libmagic-dev
- libjpeg-dev
- libpng-dev
- cimg-dev
script: travis/build.sh
after_success:
- if [ "$TRAVIS_BRANCH" != "$TRAVIS_TAG" ] && [ "$TRAVIS_BRANCH" != "master" ]; then export TRAVIS_EVENT_TYPE=pull_request; fi
- wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
- bash upload.sh linuxdeploy-"$ARCH".AppImage*
- name: Ubuntu bionic i386 build
env: ARCH=i386
dist: bionic
addons:
apt:
update: true
packages:
- libmagic-dev:i386
- libjpeg-dev:i386
- libpng-dev:i386
- gcc-multilib
- g++-multilib
- libfuse2:i386
- libcairo2:i386
script: travis/build.sh
after_success:
- if [ "$TRAVIS_BRANCH" != "$TRAVIS_TAG" ] && [ "$TRAVIS_BRANCH" != "master" ]; then export TRAVIS_EVENT_TYPE=pull_request; fi
- wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
- bash upload.sh linuxdeploy-"$ARCH".AppImage*
- name: Ubuntu xenial x86_64 coverage build (no binaries uploaded)
env: ARCH=x86_64 BUILD_TYPE=coverage
dist: xenial
addons:
apt:
update: true
packages:
- libmagic-dev
- libjpeg-dev
- libpng-dev
- cimg-dev
before_script:
- sudo pip install gcovr
script: travis/test-coverage.sh
after_success: true # also, we don't intend to upload release binaries
- name: Ubuntu xenial i386 coverage build (no binaries uploaded)
env: ARCH=i386 BUILD_TYPE=coverage
dist: xenial
addons:
apt:
update: true
packages:
- libmagic-dev:i386
- libjpeg-dev:i386
- libpng-dev:i386
- gcc-multilib
- g++-multilib
- libfuse2:i386
- libcairo2:i386
before_script:
- sudo pip install gcovr
script: travis/test-coverage.sh
after_success: true # also, we don't intend to upload release binaries
branches:
except:
- # Do not build tags that we create when we upload to GitHub Releases
- /^(?i:continuous)$/

View File

@ -50,11 +50,11 @@ make -j"$(nproc)" linuxdeploy
ctest -V
# build patchelf
"$REPO_ROOT"/travis/build-static-patchelf.sh "$(readlink -f out/)"
"$REPO_ROOT"/ci/build-static-patchelf.sh "$(readlink -f out/)"
patchelf_path="$(readlink -f out/usr/bin/patchelf)"
# build custom strip
"$REPO_ROOT"/travis/build-static-binutils.sh "$(readlink -f out/)"
"$REPO_ROOT"/ci/build-static-binutils.sh "$(readlink -f out/)"
strip_path="$(readlink -f out/usr/bin/strip)"
# use tools we just built for linuxdeploy run