Skip to content

Build And Publish

Build And Publish #43

name: Build And Publish
on:
workflow_dispatch:
inputs:
release_version:
description: 'Release version (e.g., 1.0.0)'
required: true
build_type:
type: choice
description: The build configuration (e.g., GoldMaster)
required: true
options:
- GoldMaster
- Release
- Debug
eft_version:
description: 'EFT Version'
required: false
default: "EFT 0.16.9.40087"
jobs:
build-and-release:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'
cache: true
cache-dependency-path: 'Fika.Core/packages.lock.json'
- name: Restore dependencies
run: dotnet restore Fika-Plugin.slnx
- name: Build the project
run: |
dotnet build Fika.Core/Fika.Core.csproj \
--configuration ${{ inputs.build_type }} \
--no-restore \
--output output/ \
-p:Version=${{ inputs.release_version }} \
-p:AssemblyVersion=${{ inputs.release_version }} \
-p:FileVersion=${{ inputs.release_version }} \
-p:InformationalVersion=${{ inputs.release_version }}
- name: Copy loose files
run: |
mkdir -p BepInEx/plugins/Fika
cp -r output/Fika.Core.dll BepInEx/plugins/Fika
cp Licenses/* BepInEx/plugins/Fika
- name: Zip the build and loose files
run: zip -r "Fika Release ${{ inputs.release_version }}.zip" BepInEx/plugins/Fika
- name: Create GitHub Release Draft
uses: softprops/action-gh-release@v2
with:
tag_name: "v${{ inputs.release_version }}"
name: "Fika Release ${{ inputs.release_version }}"
body: "# Compatible with ${{ inputs.eft_version }}"
draft: true
files: |
Fika Release ${{ inputs.release_version }}.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}