name: Build windows installer in Docker on: workflow_dispatch: # push: # branches: [ default ] jobs: sources: uses: ./.github/workflows/prep_sources.yml build: needs: sources runs-on: ubuntu-latest steps: - name: Download source artifact uses: actions/download-artifact@v3 with: name: source_package - name: untar files run: tar -xvf sources.tar - 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: Save docker image in cache id: cache-docker-save uses: actions/cache/save@v3 with: path: /tmp/latest.tar key: ${{ steps.cache-docker.outputs.cache-primary-key }} - 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=stamp \ matiec_revisionid=stamp \ canfestival_revisionid=stamp \ Modbus_revisionid=stamp \ open62541_revisionid=stamp - 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