Skip to content

Windows Nightly

Windows Nightly #1720

Workflow file for this run

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