CICD: Add GitHub Action to build the Windows (MXE) Builder Docker Image.

Add a GitHub action that builds the docker image to run builds for the
Windows (MXE) version of Subsurface.
Also update the MXE image Dockerfile to the latest version of MXE, and
add a patch to use a current version of mdbtools.
Configure GitHub actions that do not build docker images to not trigger
on changes to the contents of `scripts/docker/`.

Signed-off-by: Michael Keller <github@ike.ch>
This commit is contained in:
Michael Keller 2024-01-21 01:07:33 +13:00 committed by Dirk Hohndel
parent eea75fc1c4
commit c1bfded4a7
17 changed files with 186 additions and 39 deletions

View file

@ -1,9 +1,13 @@
name: Android
on:
push:
paths-ignore:
- scripts/docker/**
branches:
- master
pull_request:
paths-ignore:
- scripts/docker/**
branches:
- master

View file

@ -1,6 +1,8 @@
name: Fedora Copr Build
on:
push:
paths-ignore:
- scripts/docker/**
branches:
- master

View file

@ -1,9 +1,13 @@
name: iOS
on:
push:
paths-ignore:
- scripts/docker/**
branches:
- master
pull_request:
paths-ignore:
- scripts/docker/**
branches:
- master

View file

@ -1,9 +1,13 @@
name: Fedora 35 / Qt 6--
on:
push:
paths-ignore:
- scripts/docker/**
branches:
- master
pull_request:
paths-ignore:
- scripts/docker/**
branches:
- master

View file

@ -1,9 +1,13 @@
name: Ubuntu 20.04 / Qt 5.12--
on:
push:
paths-ignore:
- scripts/docker/**
branches:
- master
pull_request:
paths-ignore:
- scripts/docker/**
branches:
- master

View file

@ -1,9 +1,13 @@
name: Ubuntu 22.04 / Qt 5.15--
on:
push:
paths-ignore:
- scripts/docker/**
branches:
- master
pull_request:
paths-ignore:
- scripts/docker/**
branches:
- master

View file

@ -2,9 +2,13 @@ name: Linux Snap
on:
push:
paths-ignore:
- scripts/docker/**
branches:
- master
pull_request:
paths-ignore:
- scripts/docker/**
branches:
- master

View file

@ -1,9 +1,13 @@
name: Ubuntu 14.04 / Qt 5.12 for AppImage--
on:
push:
paths-ignore:
- scripts/docker/**
branches:
- master
pull_request:
paths-ignore:
- scripts/docker/**
branches:
- master

View file

@ -1,9 +1,13 @@
name: Mac
on:
push:
paths-ignore:
- scripts/docker/**
branches:
- master
pull_request:
paths-ignore:
- scripts/docker/**
branches:
- master

View file

@ -1,6 +1,8 @@
name: Post Release
on:
push:
paths-ignore:
- scripts/docker/**
branches:
- master

View file

@ -1,6 +1,8 @@
name: Ubuntu Launchpad Build
on:
push:
paths-ignore:
- scripts/docker/**
branches:
- master

View file

@ -0,0 +1,36 @@
name: Windows (MXE) Docker Image
on:
push:
paths:
- scripts/docker/mxe-build-container/**
- .github/workflows/windows-mxe-dockerimage.yml
jobs:
windows-mxe:
runs-on: ubuntu-latest
env:
VERSION: ${{ '3.1.0' }} # 'official' images should have a dot-zero version
mxe_sha: 'c0bfefc57a00fdf6cb5278263e21a478e47b0bf5'
steps:
- uses: actions/checkout@v1
- name: Build the name for the docker image
id: build_name
run: |
v=${{ env.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 }}/mxe-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 }}
workdir: './scripts/docker/mxe-build-container/'
buildargs: mxe_sha

View file

@ -1,9 +1,13 @@
name: Windows
on:
push:
paths-ignore:
- scripts/docker/**
branches:
- master
pull_request:
paths-ignore:
- scripts/docker/**
branches:
- master