Windows Nightly #1720
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Windows Nightly | |
| on: | |
| schedule: | |
| - cron: '0 5 * * *' # run at 5 AM UTC | |
| workflow_dispatch: | |
| jobs: | |
| check_for_commits: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Check for new commits today | |
| id: check-new-commits | |
| shell: bash | |
| run: | | |
| # Get the timestamp from 24 hours ago | |
| CUTOFF_TIME=$(date -d '24 hours ago' +%s) | |
| # Get the timestamp of the latest commit | |
| LATEST_COMMIT=$(git log -1 --format=%ct) | |
| # Compare and set output | |
| if [ "$LATEST_COMMIT" -gt "$CUTOFF_TIME" ]; then | |
| echo "has-new-commits=true" >> $GITHUB_OUTPUT | |
| else | |
| echo "has-new-commits=false" >> $GITHUB_OUTPUT | |
| fi | |
| outputs: | |
| should_run: ${{ steps.check-new-commits.outputs.has-new-commits }} | |
| build: | |
| needs: check_for_commits | |
| if: ${{ needs.check_for_commits.outputs.should_run == 'true' }} | |
| runs-on: windows-2022 | |
| steps: | |
| - name: Checkout xLights | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: 'true' | |
| - name: Setup msbuild | |
| uses: microsoft/setup-msbuild@v3 | |
| - name: install ISPC | |
| uses: ispc/install-ispc-action@main | |
| with: | |
| version: 1.30.0 | |
| # - name: install Inno | |
| # run: choco install innosetup | |
| - name: install python dependency | |
| run: pip install in_place | |
| - name: generate nightly version number | |
| working-directory: build_scripts\msw | |
| run: python WriteNightlyVersionFiles.py | |
| - name: Download wxWidgets | |
| run: | | |
| git clone --depth=1 --shallow-submodules --recurse-submodules -b xlights_2026.04 https://github.com/xLightsSequencer/wxWidgets ..\wxWidgets\ | |
| - name: Build wxWidgets | |
| working-directory: ..\wxWidgets\ | |
| run: msbuild /m .\build\msw\wx_vc17.sln /p:Configuration="Release" /p:Platform="x64" | |
| - name: Build All | |
| shell: cmd | |
| working-directory: build_scripts\msw | |
| run: call build_VS_x64_skip_libltc.cmd | |
| - name: Build Installer | |
| working-directory: build_scripts\msw | |
| run: ISCC.exe xLights_4_64bit_VS.iss | |
| - name: Upload Installer | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: xLights_x64_Installer | |
| path: 'build_scripts\msw\output\**' | |
| - name: Create prerelease | |
| if: github.ref == 'refs/heads/master' | |
| uses: marvinpinto/action-automatic-releases@latest | |
| with: | |
| repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
| prerelease: true | |
| automatic_release_tag: "nightly" | |
| title: "nightly" | |
| files: | | |
| ./build_scripts/msw/output/*.exe |