Windows Test Scheduled #106
This file contains 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 Test Scheduled | |
# Scheduled or manually dispatched because it's slower than the Linux test. | |
on: | |
schedule: | |
- cron: '0 0 */1 * *' | |
# every 1 days | |
workflow_dispatch: | |
# allow manual dispatch | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
# don't run more than once at a time | |
jobs: | |
build_windows: | |
name: Build, Test (Windows MSVC) | |
runs-on: windows-latest | |
steps: | |
# This cache is used to remember the last build. | |
# If there are no changes and the last build was successful, | |
# the build and test steps will be omitted. | |
# If the last build failed, the full attempt will be repeated. | |
# Github Actions will retain the last build cache for up to 7 days. | |
- name: Create Cache | |
shell: bash | |
run: mkdir ~/.cache-sha | |
- name: Cache SHA | |
uses: actions/cache@v4 | |
id: check-sha | |
with: | |
path: ~/.cache-sha | |
key: cache-sha-wintest-${{ github.sha }} | |
- name: Git Setup | |
if: steps.check-sha.outputs.cache-hit != 'true' | |
shell: bash | |
run: git config --global core.autocrlf input | |
- name: Checkout source | |
if: steps.check-sha.outputs.cache-hit != 'true' | |
uses: actions/checkout@v4 | |
- name: Add msbuild to PATH | |
if: steps.check-sha.outputs.cache-hit != 'true' | |
uses: microsoft/setup-msbuild@v2 | |
- name: Build app (MSVC debug) | |
if: steps.check-sha.outputs.cache-hit != 'true' | |
run: msbuild src\cc65.sln -t:rebuild -property:Configuration=Debug | |
- name: Build app (MSVC release) | |
if: steps.check-sha.outputs.cache-hit != 'true' | |
run: msbuild src\cc65.sln -t:rebuild -property:Configuration=Release | |
- name: Build utils (MinGW) | |
if: steps.check-sha.outputs.cache-hit != 'true' | |
shell: cmd | |
run: make -j2 util SHELL=cmd | |
- name: Build the platform libraries (make lib) | |
if: steps.check-sha.outputs.cache-hit != 'true' | |
shell: cmd | |
run: make -j2 lib QUIET=1 SHELL=cmd | |
- name: Run the regression tests (make test) | |
if: steps.check-sha.outputs.cache-hit != 'true' | |
shell: cmd | |
run: make test QUIET=1 SHELL=cmd | |
- name: Test that the samples can be built (make samples) | |
if: steps.check-sha.outputs.cache-hit != 'true' | |
shell: cmd | |
run: make -j2 samples SHELL=cmd |