chore: update JotunnDoc, JotunnTests and JotunnTestMod to modern SDK … #1149
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Create DLL on merge to dev | |
on: | |
push: | |
branches: | |
- dev | |
paths-ignore: | |
- 'JotunnLib/Documentation/**' | |
jobs: | |
build_merge: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
# Get date | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
# Get Valheim version id | |
- name: Get Valheim version id | |
id: valheimversion | |
run: echo "valheimversion=$(curl -s https://api.steamcmd.net/v1/info/896660 | jq -r ".data.\"896660\".depots.branches.public.buildid")" >> $GITHUB_OUTPUT | |
- name: Setup .NET 8 | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '8.x' | |
# Install NuGet dependencies | |
- name: Install NuGet dependencies | |
run: dotnet restore JotunnLib/JotunnLib.csproj | |
# Cache the results | |
- name: Cache Valheim | |
id: cachevalheim | |
uses: actions/cache@v3 | |
with: | |
path: ~/VHINSTALL | |
key: ${{ steps.valheimversion.outputs.valheimversion }}-${{ hashFiles('**/lockfiles') }}-BepInExPack-5.4.2202 | |
- name: Install SteamCMD | |
if: steps.cachevalheim.outputs.cache-hit != 'true' | |
uses: CyberAndrii/setup-steamcmd@v1 | |
# Prepare Valheim dependencies | |
- name: Prepare Valheim dependencies | |
if: steps.cachevalheim.outputs.cache-hit != 'true' | |
run: | | |
wget -O bepinex.zip "https://thunderstore.io/package/download/denikson/BepInExPack_Valheim/5.4.2202/" | |
unzip bepinex.zip -d ~/BepInExRaw | |
steamcmd +force_install_dir ~/VHINSTALL +login anonymous +app_update 896660 validate +exit | |
mv ~/VHINSTALL/valheim_server_Data/ ~/VHINSTALL/valheim_Data/ | |
mv ~/BepInExRaw/BepInExPack_Valheim/* ~/VHINSTALL/ | |
- name: Remove old publicized dlls from cache | |
if: steps.cachevalheim.outputs.cache-hit != 'true' | |
run: | | |
rm -rf ~/VHINSTALL/valheim_Data/Managed/publicized_assemblies | |
rm -rf ~/VHINSTALL/valheim_server_Data/Managed/publicized_assemblies | |
- name: Set references to DLLs | |
run: | | |
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?><Project ToolsVersion=\"Current\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\"><PropertyGroup><VALHEIM_INSTALL>$HOME/VHINSTALL/</VALHEIM_INSTALL></PropertyGroup></Project>" > Environment.props | |
# Gitversion | |
- name: Install GitVersion | |
uses: gittools/actions/gitversion/setup@v3 | |
with: | |
versionSpec: "5.x" | |
- name: Determine Version | |
id: gitversion | |
uses: gittools/actions/gitversion/execute@v3 | |
with: | |
useConfigFile: true | |
configFilePath: JotunnLib/GitVersion.yml | |
- name: Set JotunnLib version | |
run: | | |
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?><Project ToolsVersion=\"Current\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\"><PropertyGroup><Version>${{ steps.gitversion.outputs.major }}.${{ steps.gitversion.outputs.minor }}.${{ steps.gitversion.outputs.patch }}-${{ steps.gitversion.outputs.commitsSinceVersionSource }}</Version></PropertyGroup></Project>" > JotunnLib/BuildProps/version.props | |
- name: Update Main.cs version | |
run: | | |
cat JotunnLib/Main.cs | sed -e 's/public const string Version = ".*";/public const string Version = "${{ steps.gitversion.outputs.major }}.${{ steps.gitversion.outputs.minor }}.${{ steps.gitversion.outputs.patch }}";/' > JotunnLib/Main.tmp && mv JotunnLib/Main.tmp JotunnLib/Main.cs | |
- name: Reset DoPrebuild.props | |
run: | | |
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?><Project ToolsVersion=\"Current\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\"><PropertyGroup><ExecutePrebuild>true</ExecutePrebuild></PropertyGroup></Project>" > JotunnLib/BuildProps/DoPrebuild.props | |
# Build DLLs | |
- name: Build solution | |
run: | | |
dotnet build JotunnLib.sln --configuration Release | |
# Upload artifact | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Jotunn-${{ steps.gitversion.outputs.major }}.${{ steps.gitversion.outputs.minor }}.${{ steps.gitversion.outputs.patch }}-${{ steps.gitversion.outputs.commitsSinceVersionSource }}.dll | |
path: JotunnLib/bin/Release/net462/Jotunn.dll | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: JotunnLib.${{ steps.gitversion.outputs.major }}.${{ steps.gitversion.outputs.minor }}.${{ steps.gitversion.outputs.patch }}-${{ steps.gitversion.outputs.commitsSinceVersionSource }}.nupkg | |
path: JotunnLib/bin/Release/JotunnLib.${{ steps.gitversion.outputs.major }}.${{ steps.gitversion.outputs.minor }}.${{ steps.gitversion.outputs.patch }}-${{ steps.gitversion.outputs.commitsSinceVersionSource }}.nupkg |