diff --git a/.github/workflows/pr-windows-ae.yml b/.github/workflows/pr-windows-ae.yml deleted file mode 100644 index ef1eb0caae..0000000000 --- a/.github/workflows/pr-windows-ae.yml +++ /dev/null @@ -1,155 +0,0 @@ -name: PR Windows - Anniversary Edition 1.6 (New, used by SkyMP) - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - schedule: - - cron: '0 0 * * *' - -env: - # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) - BUILD_TYPE: Release - VCPKG_BINARY_SOURCES: 'clear;x-gha,readwrite' - VCPKG_FEATURE_FLAGS: 'manifests' - -jobs: - build: - # VS 2019 is still supported, but GitHub windows-2019 runners have unsupported WinSDK version - runs-on: windows-2022 - - steps: - - run: Get-PSDrive - - - uses: actions/checkout@v2 - with: - fetch-depth: 1 - submodules: 'true' - - - name: Install tools - run: choco install opencppcoverage - - - name: Move vcpkg submodule to a larger drive - run: | - Remove-Item -Recurse -Force C:/vcpkg - Move-Item -Path ./vcpkg C:/vcpkg - - - name: Bootstrap vcpkg - run: C:/vcpkg/bootstrap-vcpkg.bat - - - name: Debug - free space - run: Get-PSDrive - - - uses: actions/github-script@v6 - with: - script: | - core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); - core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - - # Download Skyrim SE data files - - uses: suisei-cn/actions-download-file@v1 - name: Download Skyrim.esm - with: - url: "https://gitlab.com/pospelov/se-data/-/raw/main/Skyrim.esm" - target: ${{github.workspace}}/skyrim_data_files/ - - uses: suisei-cn/actions-download-file@v1 - name: Download Update.esm - with: - url: "https://gitlab.com/pospelov/se-data/-/raw/main/Update.esm" - target: ${{github.workspace}}/skyrim_data_files/ - - uses: suisei-cn/actions-download-file@v1 - name: Download Dawnguard.esm - with: - url: "https://gitlab.com/pospelov/se-data/-/raw/main/Dawnguard.esm" - target: ${{github.workspace}}/skyrim_data_files/ - - uses: suisei-cn/actions-download-file@v1 - name: Download HearthFires.esm - with: - url: "https://gitlab.com/pospelov/se-data/-/raw/main/HearthFires.esm" - target: ${{github.workspace}}/skyrim_data_files/ - - uses: suisei-cn/actions-download-file@v1 - name: Download Dragonborn.esm - with: - url: "https://gitlab.com/pospelov/se-data/-/raw/main/Dragonborn.esm" - target: ${{github.workspace}}/skyrim_data_files/ - - - name: NPM config - run: | - npm config set msvs_version 2022 - npm install --global node-gyp@latest - npm prefix -g | % {npm config set node_gyp "$_\node_modules\node-gyp\bin\node-gyp.js"} - - - - name: Configure CMake - # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. - # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - # Outputs profiling data in Google Trace Format, which can be parsed by the about:tracing tab of Google Chrome or using a plugin for a tool like Trace Compass. - run: > - cmake -B ${{github.workspace}}/build - -DVCPKG_ROOT=C:/vcpkg - -DCPPCOV_PATH="C:\Program Files\OpenCppCoverage" - -DUNIT_DATA_DIR="skyrim_data_files" - -DPREPARE_NEXUS_ARCHIVES=ON - -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - --profiling-output cmake-profiling-output - --profiling-format google-trace - - - uses: actions/upload-artifact@v3 - with: - name: cmake-profiling-output - path: cmake-profiling-output - - - name: Build - # Build your program with the given configuration - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} - - - name: Test - working-directory: ${{github.workspace}}/build - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - run: ctest -C ${{env.BUILD_TYPE}} --verbose # --output-on-failure - - - uses: actions/upload-artifact@v3 - with: - name: dist - path: ${{github.workspace}}/build/dist - - uses: actions/upload-artifact@v3 - with: - name: skymp5-client-js - path: ${{github.workspace}}/build/dist/client/Data/Platform/Plugins/skymp5-client.js - - - uses: actions/upload-artifact@v3 - with: - name: coverage - path: ${{github.workspace}}/build/__coverage - - - uses: actions/upload-artifact@v3 - with: - name: SP-AE-nexus - # Data folder is skipped for mod managers - path: ${{github.workspace}}/build/nexus/sp/data/* - - uses: actions/upload-artifact@v3 - with: - name: papyrus-vm-nexus - # Data folder is skipped for mod managers - path: ${{github.workspace}}/build/nexus/papyrus-vm/* - - - name: Debug - free space - if: 'always()' - run: Get-PSDrive - - - uses: actions/upload-artifact@v3 - if: 'always()' - with: - name: msbuild_files - path: | - ${{github.workspace}}/build/**/*.sln - ${{github.workspace}}/build/**/*.vcxproj - - - uses: actions/upload-artifact@v3 - if: 'always()' - with: - name: vcpkg_include - path: | - ${{github.workspace}}/build/vcpkg_installed/*/include diff --git a/.github/workflows/pr-windows.yml b/.github/workflows/pr-windows.yml index 5667750a10..7f24c70bc1 100644 --- a/.github/workflows/pr-windows.yml +++ b/.github/workflows/pr-windows.yml @@ -1,4 +1,4 @@ -name: PR Windows - Special Edition 1.5 (Old) +name: PR Windows on: push: @@ -19,6 +19,14 @@ jobs: # VS 2019 is still supported, but GitHub windows-2019 runners have unsupported WinSDK version runs-on: windows-2022 + strategy: + matrix: + include: + - SKYRIM_SE_FLAG: ON + SP_NEXUS_ARTIFACT_NAME: SP-SE-nexus + - SKYRIM_SE_FLAG: OFF + SP_NEXUS_ARTIFACT_NAME: SP-AE-nexus + steps: - uses: actions/checkout@v2 with: @@ -76,14 +84,14 @@ jobs: # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type # Outputs profiling data in Google Trace Format, which can be parsed by the about:tracing tab of Google Chrome or using a plugin for a tool like Trace Compass. - run: > + run: > cmake -B ${{github.workspace}}/build -DVCPKG_ROOT=C:/vcpkg -DCPPCOV_PATH="C:\Program Files\OpenCppCoverage" -DUNIT_DATA_DIR="skyrim_data_files" -DPREPARE_NEXUS_ARCHIVES=ON -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - -DSKYRIM_SE=ON + -DSKYRIM_SE=${{ matrix.SKYRIM_SE_FLAG }} --profiling-output cmake-profiling-output --profiling-format google-trace @@ -118,7 +126,7 @@ jobs: - uses: actions/upload-artifact@v3 with: - name: SP-SE-nexus + name: ${{ matrix.SP_NEXUS_ARTIFACT_NAME }} # Data folder is skipped for mod managers path: ${{github.workspace}}/build/nexus/sp/data/* - uses: actions/upload-artifact@v3