Skip to content

fix

fix #157

Workflow file for this run

name: Publish
on:
push:
paths:
- '.github/workflows/publish.yml'
- 'src/Bannerlord.LauncherEx/**.*'
- 'src/Bannerlord.BLSE/**.*'
- 'src/Bannerlord.BLSE.Shared/**.*'
- 'src/Bannerlord.BLSE.Loaders.Standalone/**.*'
- 'src/Bannerlord.BLSE.Loaders.Launcher/**.*'
- 'src/Bannerlord.BLSE.Loaders.LauncherEx/**.*'
workflow_dispatch:
env:
# Disable the .NET logo in the console output.
DOTNET_NOLOGO: true
# Disable the .NET first time experience to skip caching NuGet packages and speed up the build.
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
# Disable sending .NET CLI telemetry to Microsoft.
DOTNET_CLI_TELEMETRY_OPTOUT: true
jobs:
get-changelog:
name: Get Changelog
runs-on: ubuntu-latest
outputs:
mod_version: ${{ steps.changelog.outputs.mod_version }}
mod_description: ${{ steps.changelog.outputs.mod_description }}
steps:
- uses: actions/checkout@v3
- name: Install and Run ChangelogParser
id: changelog
run: |
dotnet tool install -g Bannerlord.ChangelogParser
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
echo "mod_version=$(bannerlord_changelog_parser latestversion -f "$PWD/changelog.txt")" >> $GITHUB_OUTPUT
echo "mod_description<<$EOF" >> $GITHUB_OUTPUT
echo "$(bannerlord_changelog_parser fulldescription -f "$PWD/changelog.txt")" >> $GITHUB_OUTPUT
echo "$EOF" >> $GITHUB_OUTPUT
shell: bash
build:
name: Build ${{matrix.project}} (${{matrix.configuration}})
runs-on: ubuntu-latest
strategy:
matrix:
project: [ 'Bannerlord.BLSE.Loaders.Standalone', 'Bannerlord.BLSE.Loaders.Launcher', 'Bannerlord.BLSE.Loaders.LauncherEx', 'Bannerlord.BLSE.Shared' ]
configuration: [ 'Win64_Shipping_Client', 'Gaming.Desktop.x64_Shipping_Client' ]
steps:
- uses: actions/checkout@v3
- name: Setup
uses: butr/actions-common-setup@v2
with:
github-token: ${{secrets.GITHUB_TOKEN}}
- name: ${{matrix.project}} (${{matrix.configuration}})
run: |
mkdir bannerlord;
dotnet build src/${{matrix.project}}/${{matrix.project}}.csproj --configuration Release -p:GameConfiguration="${{matrix.configuration}}" -p:GameFolder="$PWD/bannerlord" -p:BuildShared="false" /nowarn:MSB4011;
shell: pwsh
- name: Upload Bannerlord folder
uses: actions/upload-artifact@v3
with:
name: bannerlord
path: ./bannerlord/
###########################
# NEXUSMODS #
###########################
publish-on-nexusmods:
if: false && github.ref == 'refs/heads/master'
needs: ["get-changelog", "build"]
uses: BUTR/workflows/.github/workflows/release-nexusmods.yml@master
with:
nexusmods_game_id: mountandblade2bannerlord
nexusmods_mod_id: 1
mod_filename: BLSE
mod_version: ${{ needs.build-changelog.outputs.mod_version }}
mod_description: ${{ needs.build.outputs.mod_description }}
artifact_name: bannerlord
secrets:
NEXUSMODS_APIKEY: ${{ secrets.ARAGAS_NEXUSMODS_API_KEY }}
NEXUSMODS_COOKIES: ${{ secrets.ARAGAS_NEXUSMODS_COOKIE_SID_DEVELOP }}
###########################
# GITHUB #
###########################
publish-on-github:
if: github.ref == 'refs/heads/master'
needs: ["get-changelog", "build"]
uses: BUTR/workflows/.github/workflows/release-github.yml@master
with:
mod_id: Bannerlord.BLSE
mod_version: ${{ needs.build-changelog.outputs.mod_version }}
mod_description: ${{ needs.build.outputs.mod_description }}
artifact_name: bannerlord
###########################
# STEAM #
###########################
publish-on-steam:
if: github.ref == 'refs/heads/master'
needs: ["get-changelog", "build"]
runs-on: ubuntu-latest
steps:
- name: Download Module artifact
uses: actions/download-artifact@v3
with:
name: bannerlord
path: ./artifact
- uses: game-ci/steam-deploy@v2
with:
username: ${{ secrets.STEAM_USERNAME }}
password: ${{ secrets.STEAM_PASSWORD }}
configVdf: ${{ secrets.STEAM_CONFIG_VDF }}
ssfnFileName: ${{ secrets.STEAM_SSFN_FILE_NAME }}
ssfnFileContents: ${{ secrets.STEAM_SSFN_FILE_CONTENTS }}
appId: ${{ secrets.STEAM_APPID }}
buildDescription: ${{ needs.build-changelog.outputs.mod_version }}
rootPath: build
depot1Path: ./artifact
releaseBranch: prerelease