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>
56 lines
1.3 KiB
YAML
56 lines
1.3 KiB
YAML
name: Ubuntu Launchpad Build
|
|
on:
|
|
push:
|
|
paths-ignore:
|
|
- scripts/docker/**
|
|
branches:
|
|
- master
|
|
- current
|
|
|
|
jobs:
|
|
push-to-ppa:
|
|
|
|
name: Submit build to Ubuntu Launchpad
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Check out 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:
|
|
nightly-builds-secret: ${{ secrets.NIGHTLY_BUILDS }}
|
|
|
|
- name: Setup build dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y devscripts dput gpg debhelper qt5-qmake cmake
|
|
|
|
- name: Setup gpg key token for launchpad
|
|
env:
|
|
GPG_PRIVATE_KEY: ${{ secrets.PPA_SECRET_KEY }}
|
|
run: |
|
|
echo "$GPG_PRIVATE_KEY" > ~/.key
|
|
gpg --import ~/.key
|
|
|
|
- name: setup git
|
|
run: |
|
|
git config --global --add safe.directory /__w/subsurface/subsurface
|
|
git config --global --add safe.directory /__w/subsurface/subsurface/libdivecomputer
|
|
|
|
- name: Checkout googlemaps
|
|
run: |
|
|
cd ..
|
|
git clone https://github.com/subsurface/googlemaps
|
|
|
|
- name: run the launchpad make-package script
|
|
run: |
|
|
cd ..
|
|
bash -x subsurface/packaging/ubuntu/make-package.sh $GITHUB_REF_NAME
|
|
|