name: Windows on: push: branches: - master pull_request: branches: - master jobs: buildWindows: runs-on: ubuntu-latest container: image: docker://subsurface/mxe-build-container:3.0.1 steps: - name: checkout sources uses: actions/checkout@v1 - name: create release name id: tag run: | export tag="" export is_latest=false if [ "${{ github.ref_type }}" = "tag" ] then tag="${{ github.ref_name }}" else tag="latest" is_latest=true fi echo "tag=${tag}" >> $GITHUB_OUTPUT echo "is_latest=${is_latest}" >> $GITHUB_OUTPUT - name: tag current version as latest if we don't have a tag if: ${{ steps.tag.outputs.is_latest == 'true' }} uses: rickstaa/action-create-tag@v1 with: tag: "latest" tag_exists_error: false force_push_tag: true message: "latest commit to allow 'release' uploads" - name: get other dependencies env: SUBSURFACE_REPO_PATH: ${{ github.workspace }} run: | echo "Running script to install additional dependancies into container" git config --global --add safe.directory ${SUBSURFACE_REPO_PATH} git config --global --add safe.directory ${SUBSURFACE_REPO_PATH}/libdivecomputer cd /win ln -s /__w/subsurface/subsurface . bash -x subsurface/.github/workflows/scripts/windows-container-prep.sh 2>&1 | tee pre-build.log - name: run build run: | cd /win bash -x subsurface/.github/workflows/scripts/windows-in-container-build.sh 2>&1 | tee build.log grep "Built target installer" build.log # only publish a 'release' on push events (those include merging a PR) - name: upload binaries if: github.event_name == 'push' uses: softprops/action-gh-release@v1 with: tag_name: ${{ steps.tag.outputs.tag }} prerelease: ${{ steps.tag.outputs.is_latest }} body: CICD release artifact fail_on_unmatched_files: false files: | ./subsurface*.exe* ./smtk2ssrf*.exe