Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added GitHub Action CI. #518

Merged
merged 2 commits into from
Jan 23, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Added GitHub Action CI.
Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
  • Loading branch information
RICCIARDI-Adrien committed Jan 16, 2022
commit 1899d81490a4df96a1607e8f048c25ebc471fb31
32 changes: 32 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -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*
31 changes: 15 additions & 16 deletions tests/tests-ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ set -x

source /opt/qt*/bin/qt*-env.sh
/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
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 apt-get update
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 trace -- make -j$(nproc)
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
rm ./licence.lic
# 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 -
#sudo wget -O /etc/apt/sources.list.d/viva64.list http://files.viva64.com/etc/viva64.list
#sudo apt-get update
#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 trace -- make -j$(nproc)
#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
#rm ./licence.lic

# exit on failure
set -e
Expand All @@ -26,8 +26,7 @@ cp ./bin/linuxdeployqt linuxdeployqt.AppDir/usr/bin/
cp -r /usr/local/lib/appimagekit linuxdeployqt.AppDir/usr/lib/
chmod +x linuxdeployqt.AppDir/AppRun
find linuxdeployqt.AppDir/
export VERSION=continuous
if [ ! -z $TRAVIS_TAG ] ; then export VERSION=$TRAVIS_TAG ; fi
if [ -z "$VERSION" ] ; then export VERSION=continuous ; fi
./bin/linuxdeployqt linuxdeployqt.AppDir/linuxdeployqt.desktop -verbose=3 -appimage \
-executable=linuxdeployqt.AppDir/usr/bin/desktop-file-validate
ls -lh
Expand All @@ -43,7 +42,7 @@ do
done

# 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 -a -S
Expand All @@ -52,8 +51,8 @@ ulimit -a -H
# error handling performed separately
set +e

# print version number
./linuxdeployqt-*-x86_64.AppImage --version
# 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 --appimage-extract-and-run --version

# TODO: reactivate tests
#bash -e tests/tests.sh
Expand Down