mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-11 11:31:29 +00:00
6fc8310705
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>
37 lines
1.2 KiB
YAML
37 lines
1.2 KiB
YAML
name: Android Docker Image CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths:
|
|
- scripts/docker/android-build-container/**
|
|
- .github/workflows/android-dockerimage.yml
|
|
|
|
jobs:
|
|
android-build-container:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
VERSION: ${{ '5.15.2' }} # the version numbers here is based on the Qt version, the third digit is the rev of the docker image
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Build the name for the docker image
|
|
id: build_name
|
|
run: |
|
|
v=$VERSION
|
|
b=$GITHUB_REF # -BRANCH suffix, unless the branch is master
|
|
b=${b/refs\/heads\//}
|
|
b=${b,,} # the name needs to be all lower case
|
|
if [ $b = "master" ] ; then b="" ; else b="-$b" ; fi
|
|
echo "NAME=$GITHUB_REPOSITORY_OWNER/android-build${b}:${v}" >> $GITHUB_OUTPUT
|
|
|
|
- name: Build and Publish Linux Docker image to Dockerhub
|
|
uses: elgohr/Publish-Docker-Github-Action@v5
|
|
with:
|
|
name: ${{ steps.build_name.outputs.NAME }}
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
dockerfile: 'Dockerfile'
|
|
workdir: './scripts/docker/android-build-container/'
|