Added GitHub Action CI. (#518)
* Added GitHub Action CI. Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr> * Removed Travis CI support. Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
This commit is contained in:
@@ -0,0 +1,32 @@
|
|||||||
|
name: Build
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
container: ubuntu:xenial
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
TRAVIS_BUILD_NUMBER: ${{ github.run_number }}
|
||||||
|
VERSION: ${{ github.ref_name }}
|
||||||
|
steps:
|
||||||
|
- name: Configure build machine
|
||||||
|
run: |
|
||||||
|
apt update
|
||||||
|
apt install -y -q apt-transport-https curl git kmod software-properties-common sudo wget
|
||||||
|
# The keyboard-configuration package is needed later and requires the user to input a number via dpkg-reconfigure, so preinstall it without front-end to avoid blocking the later installations
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt install -y -q keyboard-configuration
|
||||||
|
- name: Checkout sources
|
||||||
|
run: |
|
||||||
|
# Can't use actions/checkout@v2 action here because Ubuntu 16.04 git version is too old, so the action downloads an archive instead of a git repository, and this prevents linuxdeployqt from finding the commit it is built from
|
||||||
|
git clone --depth=1 https://github.com/${{ github.repository }} --branch=${{ github.ref_name }} .
|
||||||
|
- name: Environment tests
|
||||||
|
run: ./tests/tests-environment.sh
|
||||||
|
- name: CI tests
|
||||||
|
run: ./tests/tests-ci.sh
|
||||||
|
- name: Deploy release (only when building from master branch)
|
||||||
|
if: ${{ github.ref == 'refs/heads/master' }}
|
||||||
|
run: |
|
||||||
|
wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
|
||||||
|
bash ./upload.sh ./linuxdeployqt-*.AppImage*
|
||||||
-38
@@ -1,38 +0,0 @@
|
|||||||
language: cpp
|
|
||||||
dist: xenial
|
|
||||||
virt: vm
|
|
||||||
group: edge
|
|
||||||
arch:
|
|
||||||
# The following seems not to work; still runs on an amd64 host;
|
|
||||||
# maybe because we have not been migrated from travis-ci.org to travis-ci.com yet?
|
|
||||||
# arm64-graviton2
|
|
||||||
- amd64
|
|
||||||
|
|
||||||
os: linux
|
|
||||||
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- DISPLAY=:99
|
|
||||||
|
|
||||||
before_install:
|
|
||||||
- ./tests/tests-environment.sh
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- git fetch --unshallow
|
|
||||||
|
|
||||||
script:
|
|
||||||
- ./tests/tests-ci.sh
|
|
||||||
|
|
||||||
after_success:
|
|
||||||
- wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
|
|
||||||
# quick fix for issue 223
|
|
||||||
- if [ "$TRAVIS_TAG" != "$TRAVIS_BRANCH" ] && [ "$TRAVIS_BRANCH" != "master" ]; then export TRAVIS_EVENT_TYPE=pull_request; fi
|
|
||||||
- bash ./upload.sh ./linuxdeployqt-*.AppImage* pvs-studio-report.*
|
|
||||||
|
|
||||||
after_script:
|
|
||||||
- "xpra stop :99"
|
|
||||||
|
|
||||||
branches:
|
|
||||||
except:
|
|
||||||
- # Do not build tags that we create when we upload to GitHub Releases
|
|
||||||
- /^(?i:continuous)$/
|
|
||||||
+15
-16
@@ -4,18 +4,18 @@ set -x
|
|||||||
|
|
||||||
source /opt/qt*/bin/qt*-env.sh
|
source /opt/qt*/bin/qt*-env.sh
|
||||||
/opt/qt*/bin/qmake CONFIG+=release CONFIG+=force_debug_info linuxdeployqt.pro
|
/opt/qt*/bin/qmake CONFIG+=release CONFIG+=force_debug_info linuxdeployqt.pro
|
||||||
# make -j$(nproc) # Not doing here but below with "pvs-tool trace"
|
make -j$(nproc)
|
||||||
|
|
||||||
# Test
|
# Test (it is commented out because current PVS Studio license is expired, it might be re-enabled later if a new license is granted)
|
||||||
wget -q -O - http://files.viva64.com/etc/pubkey.txt | sudo apt-key add -
|
#wget -q -O - http://files.viva64.com/etc/pubkey.txt | sudo apt-key add -
|
||||||
sudo wget -O /etc/apt/sources.list.d/viva64.list http://files.viva64.com/etc/viva64.list
|
#sudo wget -O /etc/apt/sources.list.d/viva64.list http://files.viva64.com/etc/viva64.list
|
||||||
sudo apt-get update
|
#sudo apt-get update
|
||||||
sudo apt-get -y install --no-install-recommends pvs-studio
|
#sudo apt-get -y install --no-install-recommends pvs-studio
|
||||||
pvs-studio-analyzer credentials probono@puredarwin.org $PVS_KEY -o ./licence.lic
|
#pvs-studio-analyzer credentials probono@puredarwin.org $PVS_KEY -o ./licence.lic
|
||||||
pvs-studio-analyzer trace -- make -j$(nproc)
|
#pvs-studio-analyzer trace -- make -j$(nproc)
|
||||||
pvs-studio-analyzer analyze -e /opt -e /usr -o pvs-studio.log -j $(nproc) -l ./licence.lic
|
#pvs-studio-analyzer analyze -e /opt -e /usr -o pvs-studio.log -j $(nproc) -l ./licence.lic
|
||||||
plog-converter -a GA:1,2 -t tasklist -o pvs-studio-report.txt pvs-studio.log
|
#plog-converter -a GA:1,2 -t tasklist -o pvs-studio-report.txt pvs-studio.log
|
||||||
rm ./licence.lic
|
#rm ./licence.lic
|
||||||
|
|
||||||
# exit on failure
|
# exit on failure
|
||||||
set -e
|
set -e
|
||||||
@@ -26,8 +26,7 @@ cp ./bin/linuxdeployqt linuxdeployqt.AppDir/usr/bin/
|
|||||||
cp -r /usr/local/lib/appimagekit linuxdeployqt.AppDir/usr/lib/
|
cp -r /usr/local/lib/appimagekit linuxdeployqt.AppDir/usr/lib/
|
||||||
chmod +x linuxdeployqt.AppDir/AppRun
|
chmod +x linuxdeployqt.AppDir/AppRun
|
||||||
find linuxdeployqt.AppDir/
|
find linuxdeployqt.AppDir/
|
||||||
export VERSION=continuous
|
if [ -z "$VERSION" ] ; then export VERSION=continuous ; fi
|
||||||
if [ ! -z $TRAVIS_TAG ] ; then export VERSION=$TRAVIS_TAG ; fi
|
|
||||||
./bin/linuxdeployqt linuxdeployqt.AppDir/linuxdeployqt.desktop -verbose=3 -appimage \
|
./bin/linuxdeployqt linuxdeployqt.AppDir/linuxdeployqt.desktop -verbose=3 -appimage \
|
||||||
-executable=linuxdeployqt.AppDir/usr/bin/desktop-file-validate
|
-executable=linuxdeployqt.AppDir/usr/bin/desktop-file-validate
|
||||||
ls -lh
|
ls -lh
|
||||||
@@ -43,7 +42,7 @@ do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# enable core dumps
|
# enable core dumps
|
||||||
echo "/tmp/coredump" | sudo tee /proc/sys/kernel/core_pattern
|
#echo "/tmp/coredump" | sudo tee /proc/sys/kernel/core_pattern
|
||||||
|
|
||||||
ulimit -c unlimited
|
ulimit -c unlimited
|
||||||
ulimit -a -S
|
ulimit -a -S
|
||||||
@@ -52,8 +51,8 @@ ulimit -a -H
|
|||||||
# error handling performed separately
|
# error handling performed separately
|
||||||
set +e
|
set +e
|
||||||
|
|
||||||
# print version number
|
# print version number (need to extract the AppImage because we are running in a container, see https://github.com/AppImage/AppImageKit/wiki/FUSE#docker)
|
||||||
./linuxdeployqt-*-x86_64.AppImage --version
|
./linuxdeployqt-*-x86_64.AppImage --appimage-extract-and-run --version
|
||||||
|
|
||||||
# TODO: reactivate tests
|
# TODO: reactivate tests
|
||||||
#bash -e tests/tests.sh
|
#bash -e tests/tests.sh
|
||||||
|
|||||||
Reference in New Issue
Block a user