fix: CI Permissions #167
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: Build | |
on: | |
push: | |
branches: | |
- master | |
- development | |
paths: | |
- ".github/workflows/build.yml" | |
- "FicsItNetworks.uplugin" | |
- "Content/**" | |
- "Source/**" | |
- "ThirdParty/**" | |
pull_request: | |
branches: | |
- "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 | |
permissions: | |
actions: read | |
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: ${{ github.workspace }}\\ue\\Engine\\Build\\BatchFiles\\Build.bat FactoryServer Win64 Shipping -project='${{ github.workspace }}\SatisfactoryModLoader\FactoryGame.uproject' | |
- name: Build for Linux Dedicated Server | |
run: ${{ github.workspace }}\\ue\\Engine\\Build\\BatchFiles\\Build.bat FactoryServer Linux Shipping -project='${{ github.workspace }}\SatisfactoryModLoader\FactoryGame.uproject' | |
- 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 -serverplatform=Win64+Linux -nocompileeditor -installed -merge | |
- name: Upload FicsItNetworks | |
id: upload-win64 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: FicsItNetworks | |
path: ${{github.workspace}}\SatisfactoryModLoader\Saved\ArchivedPlugins\FicsItNetworks\*.zip | |
- name: Discord Webhook Action | |
uses: Panakotta00/[email protected] | |
if: always() | |
with: | |
status: ${{ job.status }} | |
webhook-url: ${{ secrets.WEBHOOK_URL }} | |
artifact-url: "${{ steps.upload-win64.outputs.artifact-url }}" | |
artifact-name: 'FicsIt-Networks.zip' | |
- name: Post Cleanup | |
if: ${{ !failure() }} | |
run: Remove-Item C:\actions-runner\_work\FicsIt-Networks\FicsIt-Networks\* -Recurse -Force -Confirm:$false -ErrorAction Ignore | |
generate-docs: | |
name: Generate Documentation | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup steamcmd | |
uses: CyberAndrii/setup-steamcmd@v1 | |
- name: Download Satisfactroy Dedicated Server | |
run: | | |
steamcmd +force_install_dir "${{ github.workspace }}/SatisfactoryDedicatedServer" +login anonymous +app_update 1690800 validate +quit | |
- name: Download FicsIt-Networks | |
uses: actions/download-artifact@master | |
with: | |
name: FicsItNetworks | |
path: ${{ github.workspace }} | |
- name: Install FicsIt-Networks | |
run: | | |
unzip FicsItNetworks-LinuxServer.zip -d SatisfactoryDedicatedServer/FactoryGame/Mods/FicsItNetworks | |
- name: Generate Documentation | |
working-directory: SatisfactoryDedicatedServer | |
run: ./FactoryServer.sh -FINGenDocAndQuit | |
- name: Upload Documentation | |
id: upload-documentation | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Documentation | |
path: | | |
~/.config/Epic/FactoryGame/Saved/FINReflectionDocumentation.json | |
~/.config/Epic/FactoryGame/Saved/FINLuaDocumentation.lua |