Sort "Resource" headers alphabetically #570
Workflow file for this run
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: Build | |
on: | |
push: | |
workflow_dispatch: | |
jobs: | |
windows: | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [x86, x64] | |
runs-on: windows-latest | |
env: | |
Platform: ${{ matrix.platform }} | |
Configuration: Release | |
VcpkgManifestInstall: false | |
VCPKG_BINARY_SOURCES: 'clear;x-gha,readwrite' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Add MSBuild to PATH | |
uses: microsoft/setup-msbuild@v1.3.2 | |
- name: Integrate vcpkg | |
run: | | |
vcpkg --version | |
vcpkg integrate install | |
- name: Export GitHub Actions cache environment variables | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); | |
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); | |
- name: Restore vcpkg dependency cache | |
uses: actions/cache/restore@v4 | |
id: cacheRestoreVcpkg | |
with: | |
path: vcpkg_installed | |
key: vcpkgCache-${{ runner.os }}-${{ matrix.platform }}-${{ hashFiles('vcpkg.json') }} | |
- name: Pre-install vcpkg dependencies | |
env: | |
VcpkgManifestInstall: true | |
run: | | |
msbuild . /target:VcpkgInstallManifestDependencies | |
- name: Save vcpkg dependency cache | |
uses: actions/cache/save@v4 | |
if: steps.cacheRestoreVcpkg.outputs.cache-hit != 'true' | |
with: | |
path: vcpkg_installed | |
key: ${{ steps.cacheRestoreVcpkg.outputs.cache-primary-key }} | |
- name: Restore incremental build cache | |
uses: actions/cache/restore@v4 | |
if: github.ref != format('refs/heads/{0}', github.event.repository.default_branch) | |
with: | |
path: .build | |
key: buildCache-${{ runner.os }}-${{ matrix.platform }}-${{ github.sha }} | |
restore-keys: buildCache-${{ runner.os }}-${{ matrix.platform }}- | |
- name: Set modification times | |
if: ${{ hashFiles('.build/lastBuildSha.txt') != '' }} | |
shell: bash | |
run: | | |
# Determine SHA of last cached build (ignore cache if not marked) | |
lastBuildSha=$(<.build/lastBuildSha.txt) || exit 0 | |
echo "Last build SHA: ${lastBuildSha}" | |
# Fetch source code for last build | |
# (exit successfully if not found, cache will be ignored) | |
git fetch --depth=1 origin "${lastBuildSha}" || exit 0 | |
git switch --detach "${lastBuildSha}" | |
# Set last modification times to that of last build's committer time | |
# The committer time should pre-date any cached output modification time | |
commitTime=$(git log -1 --format="%cI") | |
echo "commitTime=${commitTime}" | |
find . -type f -exec touch -d "${commitTime}" '{}' + | |
# Re-check out current branch, which updates last modification times of modified files | |
git switch - | |
- name: Set build SHA | |
shell: bash | |
run: | | |
# Save copy of current SHA to be cached, and used for reference in future builds | |
mkdir --parents .build/ | |
echo "${{ github.sha }}" > .build/lastBuildSha.txt | |
- name: Build | |
run: | | |
msbuild . /maxCpuCount /warnAsError /property:RunCodeAnalysis=true | |
- name: Save incremental build cache | |
uses: actions/cache/save@v4 | |
with: | |
path: .build | |
key: buildCache-${{ runner.os }}-${{ matrix.platform }}-${{ github.sha }} | |
- name: Test | |
working-directory: ./test/ | |
run: ../.build/${{env.Configuration}}_${{env.Platform}}_test/test.exe | |
- name: Package | |
run: ./Package.bat "${{env.Configuration}}" "${{matrix.platform}}" | |
linux: | |
strategy: | |
fail-fast: false | |
matrix: | |
image: | |
- "build-env-nas2d-arch:1.5" | |
runs-on: ubuntu-latest | |
container: | |
image: "ghcr.io/${{ github.repository_owner }}/${{ matrix.image }}" | |
steps: | |
- uses: actions/checkout@v4 | |
- run: make --keep-going --jobs 16 CXXFLAGS_EXTRA="-Werror" | |
- run: make --keep-going --jobs 16 CXXFLAGS_EXTRA="-Werror" test | |
- run: make --keep-going --jobs 16 CXXFLAGS_EXTRA="-Werror" check | |
- run: make --keep-going --jobs 16 CXXFLAGS_EXTRA="-Werror" test-graphics | |
- run: make package |