Skip to content

fix: improve setDisplayName security & optimize #4044

fix: improve setDisplayName security & optimize

fix: improve setDisplayName security & optimize #4044

Workflow file for this run

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