edouard@80: name: Build windows installer in Docker edouard@46: edouard@46: on: edouard@68: workflow_dispatch: edouard@68: # push: edouard@68: # branches: [ default ] edouard@46: edouard@46: jobs: edouard@68: sources: edouard@75: uses: ./.github/workflows/prep_sources.yml edouard@46: edouard@46: build: edouard@78: needs: sources edouard@46: runs-on: ubuntu-latest edouard@46: edouard@46: steps: edouard@77: edouard@77: - name: Download source artifact edouard@77: uses: actions/download-artifact@v3 edouard@77: with: edouard@77: name: source_package edouard@97: edouard@97: - name: untar files edouard@99: run: tar -xvf sources.tar edouard@77: edouard@55: - name: Cache docker image edouard@55: id: cache-docker edouard@55: uses: actions/cache@v3 edouard@55: env: edouard@55: cache-name: cache-docker edouard@55: with: edouard@55: path: /tmp/latest.tar edouard@55: key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('beremiz_public_dist/Dockerfile', 'beremiz_public_dist/*.sh') }} edouard@55: edouard@55: - if: ${{ steps.cache-docker.outputs.cache-hit == false }} edouard@55: name: Create docker image edouard@46: run: | edouard@46: cd beremiz_public_dist edouard@46: ./build_docker_image.sh edouard@55: docker image save --output="/tmp/latest.tar" beremiz_public_builder edouard@55: edouard@122: edouard@122: - if: ${{ steps.cache-docker.outputs.cache-hit == false }} edouard@122: name: Save docker image in cache edouard@122: id: cache-docker-save edouard@122: uses: actions/cache/save@v3 edouard@122: with: edouard@122: path: /tmp/latest.tar edouard@122: key: ${{ steps.cache-docker.outputs.cache-primary-key }} edouard@122: edouard@55: - if: ${{ steps.cache-docker.outputs.cache-hit != false }} edouard@55: name: Re-use docker image edouard@55: run: | edouard@55: docker image load --input="/tmp/latest.tar" edouard@46: edouard@46: - name: Create docker container edouard@46: run: | edouard@46: cd beremiz_public_dist edouard@46: ./create_docker_container.sh ${{ github.workspace }}/build edouard@46: edouard@48: - name: Run build in docker edouard@46: run: | edouard@46: cd beremiz_public_dist edouard@68: # override HG revision IDs in Makefile edouard@59: ./build_in_docker.sh \ edouard@96: beremiz_revisionid=stamp \ edouard@96: matiec_revisionid=stamp \ edouard@96: canfestival_revisionid=stamp \ edouard@96: Modbus_revisionid=stamp \ edouard@96: open62541_revisionid=stamp edouard@46: edouard@46: - name: Upload built artifact edouard@46: uses: actions/upload-artifact@v3 edouard@46: with: edouard@46: name: windows_bundles edouard@46: path: | edouard@46: ${{ github.workspace }}/build/Beremiz-*.exe edouard@46: ${{ github.workspace }}/build/Beremiz-*.zip edouard@46: retention-days: 5 edouard@46: