Skip to content

modapi-launcher-kit #70

modapi-launcher-kit

modapi-launcher-kit #70

Workflow file for this run

name: modapi-launcher-kit
on: [push, pull_request]
jobs:
build:
runs-on: windows-2022
env:
nugetUrl: 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'
modApiUrl: 'https://github.com/emd4600/Spore-ModAPI/releases/latest/download/SporeModAPIdlls.zip'
legacyModApiUrl: 'https://github.com/emd4600/Spore-ModAPI/releases/latest/download/SporeModAPIlegacydlls.zip'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: ilammy/msvc-dev-cmd@v1
with:
arch: x86
- name: Install Nuget
run: |
Invoke-WebRequest "${env:nugetUrl}" -OutFile nuget.exe
- name: Prepare Environment
run: |
$env:revision = git describe --tags --always
echo "GIT_REVISION=$env:revision" >> $env:GITHUB_ENV
- name: Restore Packages
run: |
nuget restore
- name: Download Spore-ModAPI
run: |
Invoke-WebRequest "${env:modApiUrl}" -OutFile SporeModAPIdlls.zip
Invoke-WebRequest "${env:legacyModApiUrl}" -OutFile SporeModAPIlegacydlls.zip
- name: Build modapi-launcher-kit
run: |
msbuild /p:Configuration=Release /m
- name: Package ModApiUpdate.zip
run: |
& "C:\Program Files\7-Zip\7z.exe" e -y SporeModAPIdlls.zip -oOutput\coreLibs
& "C:\Program Files\7-Zip\7z.exe" e -y SporeModAPIlegacydlls.zip -oOutput\
cd Output
& "C:\Program Files\7-Zip\7z" a -tzip "..\ModApiUpdate.zip" *
- name: Build ModApi.InterimSetup
run: |
Copy -Force ModApiUpdate.zip ModApi.InterimSetup\ModApi.InterimSetup\Resources\ModApiUpdate.zip
msbuild ModApi.InterimSetup /p:Configuration=Release
- name: Build ModApi.Updater
run: |
Copy -Force ModApiUpdate.zip Updater\ModApi.Updater\Resources\ModApiUpdate.zip
msbuild Updater /p:Configuration=Release
- name: Upload ModApi.InterimSetup
uses: actions/upload-artifact@v4
with:
name: ModApi.InterimSetup-${{ env.GIT_REVISION }}
path: ModApi.InterimSetup/ModApi.InterimSetup/bin/Release/*.exe
- name: Upload ModApi.Updater
uses: actions/upload-artifact@v4
with:
name: ModApi.Updater-${{ env.GIT_REVISION }}
path: Updater/ModApi.Updater/bin/Release/*.exe
create-draft-release:
runs-on: windows-2022
needs: [ build ]
if: github.ref_type == 'tag'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Prepare Environment
run: |
$env:revision = git describe --tags --always
echo "GIT_REVISION=$env:revision" >> $env:GITHUB_ENV
- name: Download ModApi.InterimSetup
uses: actions/download-artifact@v4
with:
name: ModApi.InterimSetup-${{ env.GIT_REVISION }}
path: artifact
- name: Download ModApi.Updater
uses: actions/download-artifact@v4
with:
name: ModApi.Updater-${{ env.GIT_REVISION }}
path: artifact
- name: Generate update.info
run: |
$updaterVersion = "1.0.0.0"
$version = (($env:GIT_REVISION -split '\.')[0] -split 'v')[1] + "." `
+ (($env:GIT_REVISION -split '\.')[1]) + "." `
+ (($env:GIT_REVISION -split '\.')[2] -split '-')[0] + ".0"
$downloadUrl = $env:GITHUB_SERVER_URL + "/" + $env:GITHUB_REPOSITORY `
+ "/releases/latest/download/ModAPIUpdateSetup.exe"
echo $updaterVersion > update.info
echo $version >> update.info
echo "false" >> update.info
echo $downloadUrl >> update.info
Copy update.info artifact/update.info
- name: Create Draft Release
uses: ncipollo/release-action@v1
with:
draft: true
makeLatest: true
tag: ${{ env.GIT_REVISION }}
artifacts: artifact/*
release-cloudflare:
runs-on: windows-2022
needs: [ build ]
if: github.ref_type == 'tag'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Prepare Environment
run: |
$env:revision = git describe --tags --always
echo "GIT_REVISION=$env:revision" >> $env:GITHUB_ENV
- name: Download ModApi.Updater
uses: actions/download-artifact@v4
with:
name: ModApi.Updater-${{ env.GIT_REVISION }}
path: artifact
- name: Generate update.info
run: |
$updaterVersion = "1.0.0.0"
$version = (($env:GIT_REVISION -split '\.')[0] -split 'v')[1] + "." `
+ (($env:GIT_REVISION -split '\.')[1]) + "." `
+ (($env:GIT_REVISION -split '\.')[2] -split '-')[0] + ".0"
$downloadUrl = "https://update.launcherkit.sporecommunity.com/ModAPIUpdateSetup.exe"
echo $updaterVersion > update.info
echo $version >> update.info
echo "false" >> update.info
echo $downloadUrl >> update.info
Copy update.info artifact/update.info
- name: Upload to Cloudflare R2
uses: ryand56/r2-upload-action@1.4
with:
r2-account-id: ${{ secrets.R2_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }}
r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }}
r2-bucket: spore-modapi-launcherkit
source-dir: artifact
destination-dir: ./