GH action : split workflows for later re-use of source provisioning.
name: Build windows installer in Docker.
on:
workflow_dispatch:
# push:
# branches: [ default ]
jobs:
sources:
uses: ./.github/workflow/prep_sources
build:
runs-on: ubuntu-latest
steps:
- name: Cache docker image
id: cache-docker
uses: actions/cache@v3
env:
cache-name: cache-docker
with:
path: /tmp/latest.tar
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('beremiz_public_dist/Dockerfile', 'beremiz_public_dist/*.sh') }}
- if: ${{ steps.cache-docker.outputs.cache-hit == false }}
name: Create docker image
run: |
cd beremiz_public_dist
./build_docker_image.sh
docker image save --output="/tmp/latest.tar" beremiz_public_builder
- if: ${{ steps.cache-docker.outputs.cache-hit != false }}
name: Re-use docker image
run: |
docker image load --input="/tmp/latest.tar"
- name: Create docker container
run: |
cd beremiz_public_dist
./create_docker_container.sh ${{ github.workspace }}/build
- name: Run build in docker
run: |
cd beremiz_public_dist
# override HG revision IDs in Makefile
./build_in_docker.sh \
beremiz_revisionid=${{ needs.sources.outputs.beremiz_revisionid }} \
matiec_revisionid=${{ needs.sources.outputs.matiec_revisionid }} \
canfestival_revisionid=${{ needs.sources.outputs.canfestival_revisionid }}
- name: Upload built artifact
uses: actions/upload-artifact@v3
with:
name: windows_bundles
path: |
${{ github.workspace }}/build/Beremiz-*.exe
${{ github.workspace }}/build/Beremiz-*.zip
retention-days: 5