Make multiple improvements to the existing workflows:
- create a shared custom action to deal with version number tracking
and generation;
- use this action to add the branch name to the version for pull
request builds;
- create a shared workflow for all debian-ish builds to avoid re-use
by copy / paste;
- remove potential security risks by eliminating the use of
pre-evaluated expressions (`${{ ... }}`) inside scripts;
- update outdated GitHub action versions;
- improve the consistency by renaming scripts acording to have a `.sh`
extension;
- improve naming of generated artefacts for pull requests to include
the correct version.
@dirkh: Unfortunately this is potentially going to break builds when it is
merged, as there is no good way to 'test' a merge build short of
merging.
We'll just have to deal with the fallout of it in a follow-up pull
request.
Signed-off-by: Michael Keller <github@ike.ch>
69 lines
2.0 KiB
YAML
69 lines
2.0 KiB
YAML
name: Fedora 35 / Qt 6--
|
|
|
|
on:
|
|
push:
|
|
paths-ignore:
|
|
- scripts/docker/**
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
paths-ignore:
|
|
- scripts/docker/**
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: fedora:35
|
|
|
|
steps:
|
|
- name: get container ready for build
|
|
run: |
|
|
echo "--------------------------------------------------------------"
|
|
echo "update distro and install dependencies"
|
|
|
|
dnf update -y
|
|
dnf install -y autoconf automake bluez-libs-devel cmake gcc-c++ git-core \
|
|
libcurl-devel libsqlite3x-devel libssh2-devel libtool libudev-devel \
|
|
libusbx-devel libxml2-devel libxslt-devel make \
|
|
qt6-qtbase-devel qt6-qtconnectivity-devel qt6-qtdeclarative-devel \
|
|
qt6-qtlocation-devel qt6-qtsvg-devel \
|
|
qt6-qttools-devel redhat-rpm-config \
|
|
libxkbcommon-devel qt6-qt5compat-devel \
|
|
bluez-libs-devel libgit2-devel libzip-devel libmtp-devel \
|
|
xorg-x11-server-Xvfb
|
|
|
|
- name: checkout sources
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
submodules: recursive
|
|
|
|
- name: set the version information
|
|
id: version_number
|
|
uses: ./.github/actions/manage-version
|
|
with:
|
|
no-increment: true
|
|
|
|
- name: build Subsurface
|
|
run: |
|
|
echo "--------------------------------------------------------------"
|
|
echo "building desktop"
|
|
|
|
# now build for the desktop version (without WebKit)
|
|
cd ..
|
|
git config --global --add safe.directory $GITHUB_WORKSPACE
|
|
git config --global --add safe.directory $GITHUB_WORKSPACE/libdivecomputer
|
|
git config --global --get-all safe.directory
|
|
bash -e -x subsurface/scripts/build.sh -desktop -build-with-qt6
|
|
|
|
- name: test desktop build
|
|
run: |
|
|
echo "--------------------------------------------------------------"
|
|
echo "running tests for desktop"
|
|
cd build/tests
|
|
xvfb-run --auto-servernum make check
|
|
|