Skip to content

Use stringstream

Use stringstream #35

Workflow file for this run

name: windows
on: push
env:
# Path to the solution file relative to the root of the project.
SOLUTION_FILE_PATH: .
# 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
jobs:
build:
runs-on: windows-2019
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Get branch name
run: echo "BranchName=$env:GITHUB_REF_NAME" >> $env:GITHUB_ENV
- name: Get commit hash
run: echo "CommitHash=$(git rev-parse --short=7 HEAD)" >> $env:GITHUB_ENV
- name: Get commit count
run: echo "CommitCount=$(git rev-list --count ${{env.BranchName}})" >> $env:GITHUB_ENV
- name: Get current date
run: echo "CurrentDate=$(date +'%Y-%m-%d')" >> $env:GITHUB_ENV
- name: Init dependencies
working-directory: ${{env.GITHUB_WORKSPACE}}
run: build-initdeps.bat
shell: cmd
- name: Build MetaAudio.dll
working-directory: ${{env.GITHUB_WORKSPACE}}
run: build-MetaAudio.bat
shell: cmd
- name: Create Output directory
working-directory: ${{env.GITHUB_WORKSPACE}}
run: mkdir Output
shell: cmd
- name: Copy Build to Output
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
mkdir "Output\${{env.BUILD_CONFIGURATION}}"
xcopy "Build\${{env.BUILD_CONFIGURATION}}\MetaAudio.dll" "Output\${{env.BUILD_CONFIGURATION}}" /y /e
shell: cmd
- name: Copy SteamAppsLocation to Output
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
mkdir "Output\SteamAppsLocation"
copy "SteamAppsLocation\SteamAppsLocation.exe" "Output\SteamAppsLocation" /y
copy "SteamAppsLocation\steam_appid.txt" "Output\SteamAppsLocation" /y
copy "SteamAppsLocation\steam_api.dll" "Output\SteamAppsLocation" /y
shell: cmd
- name: Copy sndfile to Output
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
xcopy "externals\libsndfile\lib\sndfile.dll" "Output\externals\libsndfile\lib\" /y /e
shell: cmd
- name: Copy install bat to Output
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
copy "install-to-OpposingForce.bat" "Output" /y
copy "install-to-HalfLife.bat" "Output" /y
copy "install-to-DayOfDefeat.bat" "Output" /y
copy "install-to-CSCZDeletedScenes.bat" "Output" /y
copy "install-to-CounterStrike.bat" "Output" /y
copy "install-to-ConditionZero.bat" "Output" /y
copy "install-to-BlueShift.bat" "Output" /y
shell: cmd
- name: Download MetaHook
run: |
Invoke-WebRequest -Uri https://github.com/hzqst/MetaHookSv/releases/download/v20231210a/MetaHookSv-windows-x86.zip -OutFile MetaHook.zip
if (!(Get-FileHash ./MetaHook.zip).Hash.Equals("E5F3DB974C0D00241125757A6CE83E1BCF114D156E8E3E27C7622CAE7DDE36A1")) {
Exit -1
}
Expand-Archive ./MetaHook.zip -DestinationPath MetaHook/
New-Item -Type dir -Force ./Output/${{env.BUILD_CONFIGURATION}}
Copy-Item ./MetaHook/Build/svencoop.exe ./Output/${{env.BUILD_CONFIGURATION}}/metahook.exe
shell: pwsh
- uses: actions/upload-artifact@v3
with:
name: '${{env.CurrentDate}}_MetaAudio-${{env.CommitCount}}@${{env.CommitHash}}-${{env.BranchName}}'
path: Output/
- name: Make Release folder
run: mkdir "Release"
- name: Compress artifacts
uses: papeloto/action-zip@v1
with:
files: 'Output/'
dest: 'Release/${{env.CurrentDate}}_MetaAudio-${{env.CommitCount}}@${{env.CommitHash}}-${{env.BranchName}}.zip'
- name: Make copy for static download URL
run: copy 'Release/${{env.CurrentDate}}_MetaAudio-${{env.CommitCount}}@${{env.CommitHash}}-${{env.BranchName}}.zip' 'Release/MetaAudio.zip'
- name: GitHub pre-release
uses: 'marvinpinto/action-automatic-releases@latest'
with:
repo_token: '${{secrets.GITHUB_TOKEN}}'
automatic_release_tag: '${{env.BranchName}}'
prerelease: true
title: '[${{env.CurrentDate}}] MetaAudio-${{env.CommitCount}}@${{env.CommitHash}}-${{env.BranchName}}'
files: "Release/*"