Skip to content

Kernel: Remove wait blocks and cancel timers in missed-wakeup paths #2166

Kernel: Remove wait blocks and cancel timers in missed-wakeup paths

Kernel: Remove wait blocks and cancel timers in missed-wakeup paths #2166

Workflow file for this run

name: GitHub CI
on:
push:
paths-ignore:
- '.gitattributes'
- '.github/*'
- '.github/*_TEMPLATE/**'
- '.gitignore'
- '*.bat'
- '*.yml'
- 'doc/**'
pull_request:
paths-ignore:
- '.gitattributes'
- '.github/*'
- '.github/*_TEMPLATE/**'
- '.gitignore'
- '*.bat'
- '*.yml'
- 'doc/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-windows:
name: Build (Windows, ${{ matrix.configuration }}) # runner.os doesn't work here
runs-on: windows-2025
env:
POWERSHELL_TELEMETRY_OPTOUT: 1
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
strategy:
fail-fast: false
matrix:
configuration: ${{ fromJSON(github.event_name == 'pull_request' && '["Release"]' || '["Release","Debug"]') }}
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
fetch-depth: 1
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.9
- name: Generate CMake files
run: cmake -B build -A Win32 -DBUILD_CXBXR_DEBUGGER=ON -DCMAKE_SYSTEM_VERSION=7 -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache
- name: Build
run: cmake --build build --config ${{ matrix.configuration }} -j $env:NUMBER_OF_PROCESSORS
- name: Prepare artifacts
if: matrix.configuration == 'Release'
run: cmake --install build --config ${{ matrix.configuration }} --prefix artifacts
- uses: actions/upload-artifact@v6
if: matrix.configuration == 'Release'
with:
name: CxbxReloaded-${{ matrix.configuration }}
path: artifacts/bin
if-no-files-found: error
release:
if: |
github.event.action != 'pull_request' &&
github.ref == 'refs/heads/master' &&
github.repository == 'Cxbx-Reloaded/Cxbx-Reloaded'
needs: build-windows
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Download artifacts
uses: actions/download-artifact@v7
with:
path: artifacts
- name: Re-zip artifacts
id: zip
run: |
for artifact in artifacts/*; do
7z a ${artifact}.zip "./${artifact}/*"
if [ $(stat -c %s ${artifact}.zip) -le 100000 ]; then
echo "Error: Archive ${artifact}.zip too small!"
exit 1
fi
done
echo "tag_name=CI-${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT"
- name: Create Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release create ${{ steps.zip.outputs.tag_name }} artifacts/*.zip -p --target $GITHUB_SHA --title '${{ steps.zip.outputs.tag_name }}'