Skip to content

Release v0.3.21

Release v0.3.21 #114

Workflow file for this run

name: Build
on:
push:
branches:
- master
- development
paths:
- "FicsItNetworks.uplugin"
- "Content/**"
- "Source/**"
- "ThirdParty/**"
pull_request:
branches:
- "master"
- "development"
paths:
- "Content/**"
- "Source/**"
- "ThirdParty/**"
workflow_dispatch:
workflow_call:
secrets:
WWISE_EMAIL:
required: true
WWISE_PASSWORD:
required: true
GH_TOKEN:
required: true
WEBHOOK_URL:
required: true
jobs:
build:
name: Build FicsIt-Networks
runs-on: Windows2019-selfhosted
steps:
- name: Pre Cleanup
run: Remove-Item ${{ github.workspace }}\* -Recurse -Force -Confirm:$false -ErrorAction Ignore
- uses: actions/checkout@v4
with:
repository: satisfactorymodding/SatisfactoryModLoader
ref: refs/heads/dev
path: SatisfactoryModLoader
- uses: actions/checkout@v4
with:
path: SatisfactoryModLoader/Mods/FicsItNetworks
submodules: recursive
- name: Apply FG Patches
working-directory: SatisfactoryModLoader
run: git apply .\Mods\FicsItNetworks\SML_Patch.patch -v
- name: Create UE directory
run: mkdir ue
- name: Download, Extract and Setup UE
working-directory: ue
run: |
gh release download --repo satisfactorymodding/UnrealEngine -p "UnrealEngine-CSS-Editor-Win64.7z.*"
7z x UnrealEngine-CSS-Editor-Win64.7z.001
rm UnrealEngine-CSS-Editor-Win64.7z*
.\\SetupScripts\\Register.bat
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
- name: Add Wwise
run: |
7z x -aoa C:\\CI\\Wwise.7z -o'${{ github.workspace }}\SatisfactoryModLoader\Plugins\'
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
WWISE_EMAIL: ${{ secrets.WWISE_EMAIL }}
WWISE_PASSWORD: ${{ secrets.WWISE_PASSWORD }}
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
# - name: Generate VS project files
# run: ${{ github.workspace }}\ue\Engine\Build\BatchFiles\Build.bat -projectfiles -project='${{ github.workspace }}\SatisfactoryModLoader\FactoryGame.uproject' -game -rocket -progres
- name: Build for Development Editor
run: ${{ github.workspace }}\\ue\\Engine\\Build\\BatchFiles\\Build.bat FactoryEditor Win64 Development -project='${{ github.workspace }}\SatisfactoryModLoader\FactoryGame.uproject'
- name: Build for Shipping/Client EGS
run: ${{ github.workspace }}\\ue\\Engine\\Build\\BatchFiles\\Build.bat FactoryGameEGS Win64 Shipping -project='${{ github.workspace }}\SatisfactoryModLoader\FactoryGame.uproject'
- name: Build for Shipping/Client Steam
run: ${{ github.workspace }}\\ue\\Engine\\Build\\BatchFiles\\Build.bat FactoryGameSteam Win64 Shipping -project='${{ github.workspace }}\SatisfactoryModLoader\FactoryGame.uproject'
# - name: Build for Win64 Dedicated Server
# run: MSBuild.exe '${{ github.workspace }}\SatisfactoryModLoader\FactoryGame.sln' /p:Configuration='Shipping Server' /p:Platform='Win64' /t:'Games\FactoryGame' -m
# - name: Build for Linux Dedicated Server
# run: MSBuild.exe '${{ github.workspace }}\SatisfactoryModLoader\FactoryGame.sln' /p:Configuration='Shipping Server' /p:Platform='Linux' /t:'Games\FactoryGame' -m
- name: Package FicsItNetworks Mod
run: ${{ github.workspace }}\ue\Engine\Build\BatchFiles\RunUAT.bat -ScriptsForProject='${{ github.workspace }}\SatisfactoryModLoader\FactoryGame.uproject' PackagePlugin -project='${{ github.workspace }}\SatisfactoryModLoader\FactoryGame.uproject' -clientconfig=Shipping -serverconfig=Shipping -DLCName='FicsItNetworks' -build -utf8output -platform=Win64 -nocompileeditor -installed -merge
# - name: Generate Reflection & Lua Documentation
# run: ${{ github.workspace }}\ue\\Engine\Binaries\Win64\UnrealEditor-Cmd.exe "${{ github.workspace }}\SatisfactoryModLoader\FactoryGame.uproject" -skipcompile -Unattended -NoPause -AllowSoftwareRendering "-ExecCmds=FINGenRefDoc,FINGenLuaDoc,quit_editor"
- name: Upload FicsItNetworks-Windows.zip
id: upload-win64
uses: actions/upload-artifact@v4
with:
name: FicsItNetworks-Windows
path: ${{github.workspace}}\SatisfactoryModLoader\Saved\ArchivedPlugins\FicsItNetworks\FicsItNetworks-Windows.zip
# - name: Upload Documentation
# id: upload-documentation
# uses: actions/upload-artifact@v4
# with:
# name: Documentation
# path: |
# %LocalAppData%\FactoryGame\Saved\FINReflectionDocumentation.json
# %LocalAppData%\FactoryGame\Saved\FINLuaDocumentation.lua
- name: Create Discord Webhook Action
uses: devops-actions/[email protected]
if: success()
with:
filename: "discord-webhook.json"
json: >
{
"username": "GitHub",
"avatar_url": "https://cdn.discordapp.com/avatars/735904925900472323/df91181b3f1cf0ef1592fbe18e0962d7.webp?size=128",
"embeds": [{
"title": "${{ github.ref_name }}",
"url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}",
"description": "Build Successful!",
"color": 65280,
"fields": [{
"value": "[FicsIt-Networks.zip](${{ steps.upload-win64.outputs.artifact-url }})",
"name": "",
"inline": true
}]
}]
}
- name: Create Discord Webhook Action
uses: devops-actions/[email protected]
if: cancelled()
with:
filename: "discord-webhook.json"
json: >
{
"username": "GitHub",
"avatar_url": "https://cdn.discordapp.com/avatars/735904925900472323/df91181b3f1cf0ef1592fbe18e0962d7.webp?size=128",
"embeds": [{
"title": "${{ github.ref_name }}",
"url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}",
"description": "Build Cancelled!",
"color": 13158580
}]
}
- name: Create Discord Webhook Action
uses: devops-actions/[email protected]
if: failure()
with:
filename: "discord-webhook.json"
json: >
{
"username": "GitHub",
"avatar_url": "https://cdn.discordapp.com/avatars/735904925900472323/df91181b3f1cf0ef1592fbe18e0962d7.webp?size=128",
"embeds": [{
"title": "${{ github.ref_name }}",
"url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}",
"description": "Build Failed",
"color": 16711680
}]
}
- name: Create Discord Webhook Action
uses: devops-actions/[email protected]
if: ${{ !success() && !failure() && !cancelled() }}
with:
filename: "discord-webhook.json"
json: >
{
"username": "GitHub",
"avatar_url": "https://cdn.discordapp.com/avatars/735904925900472323/df91181b3f1cf0ef1592fbe18e0962d7.webp?size=128",
"embeds": [{
"title": "${{ github.ref_name }}",
"url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}",
"description": "Build Done!",
"color": 6579300
}]
}
- name: Discord Webhook Action
uses: tsickert/[email protected]
if: always()
with:
webhook-url: ${{ secrets.WEBHOOK_URL }}
raw-data: discord-webhook.json
# embed-title: ${{ github.ref_name }}
# embed-url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
# embed-description: Build ${{ success() && 'Successful' || cancelled() && 'Cancelled' || failure() && 'Failed' || 'Done' }}!
# embed-color: ${{ success() && '65280' || cancelled() && '13158580' || failure() && '16711680' || '6579300' }}
- name: Post Cleanup
if: ${{ !failure() }}
run: Remove-Item C:\actions-runner\_work\FicsIt-Networks\FicsIt-Networks\* -Recurse -Force -Confirm:$false -ErrorAction Ignore
# documentation:
# needs: build
# if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request'
# name: Update Documentation
# runs-on: ubuntu-latest
# permissions:
# contents: write
# steps:
# - uses: actions/checkout@v4
# - name: Download Reflection Documentation
# uses: actions/download-artifact@v4
# with:
# name: Documentation
# path: ./docs
# - name: Rewrite ASCIIDOC with new Documentation
# run: python ./docs/PatchDocWithReflectionDoc.py FINReflectionDocumentation.json
# - name: Configure Git
# run: |
# git config user.name "$GITHUB_ACTOR"
# git config user.email "[email protected]"
# - name: Commit
# run: |
# git add index.zip
# git commit -m "Update Reflection Documentation"
# - name: Push
# run: |
# git push