Skip to content

Bump assembly version #106

Bump assembly version

Bump assembly version #106

name: Build Release
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
build:
runs-on: ubuntu-latest
env:
DOTNET_INSTALL_DIR: ~/.dotnet
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
filter: tree:0
- name: Set up variables
id: vars
run: |
# Extract package version from project
version=$(grep -oP '<Version>\K[^<]+' LCVR.csproj)
echo "version=$version" >> "$GITHUB_OUTPUT"
- name: Setup Dotnet
uses: actions/setup-dotnet@v4
with:
dotnet-version: "8.0"
- name: Restore NuGet packages
run: dotnet restore
- name: Build NuGet package
run: dotnet pack -p:Version='${{ steps.vars.outputs.version }}' -c Release
- name: Upload NuGet package
if: github.event_name == 'push'
run: dotnet nuget push bin/Release/*.nupkg --api-key ${{ secrets.NUGET_TOKEN }} --source https://nuget.daxcess.io/v3/index.json
- name: Build app
run: dotnet build -c Release
- name: Configure GPG Key
run: |
echo -n "$GPG_SIGNING_KEY" | base64 --decode | gpg --import
env:
GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }}
- name: Prepare and bundle package
run: |
# Set up template
mkdir package
git --work-tree=./package checkout origin/thunderstore ./
# Copy and sign release binaries
cp bin/Release/netstandard2.1/LCVR.dll ./package/BepInEx/plugins/LCVR/
cp bin/Release/netstandard2.1/LCVR.Preload.dll ./package/BepInEx/patchers/LCVR/
gpg --output ./package/BepInEx/plugins/LCVR/LCVR.dll.sig --detach-sig ./package/BepInEx/plugins/LCVR/LCVR.dll
gpg --output ./package/BepInEx/patchers/LCVR/LCVR.Preload.dll.sig --detach-sig ./package/BepInEx/patchers/LCVR/LCVR.Preload.dll
# Move assets
mv ./package/lethalcompanyvr ./package/BepInEx/plugins/LCVR/lethalcompanyvr
# Copy docs and license
cp CHANGELOG.md ./package/CHANGELOG.md
cp Docs/Thunderstore/README.md ./package/README.md
cp LICENSE ./package/LICENSE
# Update Thunderstore manifest
jq '.version_number = "${{ steps.vars.outputs.version }}"' ./package/manifest.json > ./package/manifest_new.json
mv ./package/manifest_new.json ./package/manifest.json
- name: Upload build artifacts
if: github.event_name == 'push'
uses: actions/upload-artifact@v4
with:
name: LCVR-${{ steps.vars.outputs.version }}
path: ./package