2019-10-16 11:31:29 -07:00
|
|
|
name: Windows
|
2019-10-25 21:04:01 -04:00
|
|
|
on:
|
|
|
|
push:
|
2024-01-21 01:07:33 +13:00
|
|
|
paths-ignore:
|
|
|
|
- scripts/docker/**
|
2019-10-25 21:04:01 -04:00
|
|
|
branches:
|
|
|
|
- master
|
|
|
|
pull_request:
|
2024-01-21 01:07:33 +13:00
|
|
|
paths-ignore:
|
|
|
|
- scripts/docker/**
|
2019-10-25 21:04:01 -04:00
|
|
|
branches:
|
|
|
|
- master
|
2019-10-16 11:31:29 -07:00
|
|
|
|
|
|
|
jobs:
|
2020-12-11 09:49:40 -08:00
|
|
|
buildWindows:
|
2019-10-16 11:31:29 -07:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
container:
|
2024-01-22 07:54:06 +13:00
|
|
|
image: docker://subsurface/mxe-build:3.1.0
|
2019-10-16 11:31:29 -07:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: checkout sources
|
2019-10-17 16:12:42 -07:00
|
|
|
uses: actions/checkout@v1
|
2019-10-16 11:31:29 -07:00
|
|
|
|
2024-01-09 15:10:12 -08:00
|
|
|
- name: atomically create or retrieve the build number and assemble release notes
|
2024-01-04 20:44:31 -08:00
|
|
|
id: version_number
|
2023-12-16 11:34:24 +13:00
|
|
|
if: github.event_name == 'push'
|
2023-12-05 16:35:49 +09:00
|
|
|
run: |
|
2024-01-10 07:11:27 -08:00
|
|
|
bash scripts/get-atomic-buildnr.sh ${{ github.sha }} ${{ secrets.NIGHTLY_BUILDS }} "CICD-release"
|
2024-01-10 17:13:17 -08:00
|
|
|
version=$(cat release-version)
|
2024-01-10 13:02:48 -08:00
|
|
|
echo "version=$version" >> $GITHUB_OUTPUT
|
|
|
|
|
2024-01-04 20:44:31 -08:00
|
|
|
- name: store dummy version and build number for pull request
|
|
|
|
if: github.event_name == 'pull_request'
|
|
|
|
run: |
|
|
|
|
echo "100" > latest-subsurface-buildnumber
|
|
|
|
echo "CICD-pull-request" > latest-subsurface-buildnumber-extension
|
2023-12-05 16:35:49 +09:00
|
|
|
|
2019-10-16 11:31:29 -07:00
|
|
|
- name: get other dependencies
|
2022-05-13 11:33:05 -07:00
|
|
|
env:
|
|
|
|
SUBSURFACE_REPO_PATH: ${{ github.workspace }}
|
2019-10-16 11:31:29 -07:00
|
|
|
run: |
|
2020-05-30 12:21:22 +01:00
|
|
|
echo "Running script to install additional dependancies into container"
|
2022-05-13 11:33:05 -07:00
|
|
|
git config --global --add safe.directory ${SUBSURFACE_REPO_PATH}
|
|
|
|
git config --global --add safe.directory ${SUBSURFACE_REPO_PATH}/libdivecomputer
|
2020-06-11 08:52:30 +01:00
|
|
|
cd /win
|
|
|
|
ln -s /__w/subsurface/subsurface .
|
2020-05-30 12:21:22 +01:00
|
|
|
bash -x subsurface/.github/workflows/scripts/windows-container-prep.sh 2>&1 | tee pre-build.log
|
2023-12-05 16:35:49 +09:00
|
|
|
|
2019-10-16 11:31:29 -07:00
|
|
|
- name: run build
|
|
|
|
run: |
|
|
|
|
cd /win
|
2019-10-18 09:25:14 -07:00
|
|
|
bash -x subsurface/.github/workflows/scripts/windows-in-container-build.sh 2>&1 | tee build.log
|
2019-10-16 11:31:29 -07:00
|
|
|
grep "Built target installer" build.log
|
|
|
|
|
2023-12-07 10:10:23 -08:00
|
|
|
# only publish a 'release' on push events (those include merging a PR)
|
2023-12-05 16:35:49 +09:00
|
|
|
- name: upload binaries
|
2023-12-07 10:10:23 -08:00
|
|
|
if: github.event_name == 'push'
|
2023-12-05 16:35:49 +09:00
|
|
|
uses: softprops/action-gh-release@v1
|
2019-10-26 22:28:30 -04:00
|
|
|
with:
|
2024-01-10 13:02:48 -08:00
|
|
|
tag_name: v${{ steps.version_number.outputs.version }}
|
2024-01-11 13:03:11 +13:00
|
|
|
repository: ${{ github.repository_owner }}/nightly-builds
|
2023-12-10 16:35:16 -08:00
|
|
|
token: ${{ secrets.NIGHTLY_BUILDS }}
|
|
|
|
prerelease: false
|
|
|
|
fail_on_unmatched_files: true
|
2023-12-05 16:35:49 +09:00
|
|
|
files: |
|
2023-12-07 04:14:22 -08:00
|
|
|
./subsurface*.exe*
|
|
|
|
./smtk2ssrf*.exe
|