Skip to content

update:CI

update:CI #13

name: RefactoringMSBuild
on:
workflow_dispatch:
push:
branches: [ "refactoring" ]
pull_request:
branches: [ "refactoring" ]
env:
# Configuration type to build.
# You can convert this to a build matrix if you need coverage of multiple configuration types.
# https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
BUILD_CONFIGURATION: Release
permissions:
contents: read
jobs:
build:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
version: [ '2024' ]
steps:
- uses: actions/checkout@v5
with:
submodules: true
- name: Get submodules hash
id: submodules-hash
run: |
$submoduleHash = git submodule status | ForEach-Object { $_.Split(' ')[0] } | Sort-Object | Out-String | ForEach-Object { [System.Security.Cryptography.SHA256]::Create().ComputeHash([System.Text.Encoding]::UTF8.GetBytes($_)) | ForEach-Object { $_.ToString("x2") } } -join ""
echo "hash=$submoduleHash" >> $env:GITHUB_OUTPUT
echo "Submodules hash: $submoduleHash"
shell: powershell
- name: Cache SDK Frameworks
uses: actions/cache@v4
with:
path: sdk_${{matrix.version}}/frameworks
key: ${{ runner.os }}-sdk-${{ matrix.version }}-frameworks-${{ hashFiles('sdk_${{matrix.version}}/frameworks/**') }}
restore-keys: |
${{ runner.os }}-sdk-${{ matrix.version }}-frameworks
- name: Cache Dependency Build
id: cache-dependency
uses: actions/cache@v4
with:
path: |
dependency/install
key: ${{ runner.os }}-dependency-build-${{ steps.submodules-hash.outputs.hash }}
restore-keys: |
${{ runner.os }}-dependency-build
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Build Dependency
if: steps.cache-dependency.outputs.cache-hit != 'true'
run: ./init.bat
shell: cmd
- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}
# Add additional options to the MSBuild command line here (like platform or verbosity level).
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} ./sdk_${{matrix.version}}/plugins/project/plugins.sln