I hate bash #95
Workflow file for this run
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 and Release | |
on: [ push ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Setup .NET Core SDK | |
uses: actions/[email protected] | |
with: | |
dotnet-version: '6.0.x' | |
- name: Install Python Tools | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install yaclog yaclog-ksp | |
- name: Generate Version Info | |
run: | | |
yaclog show | |
python Scripts/version.py | |
yaclog-ksp -n "Conformal Decals" | |
- name: Validate Version Info | |
uses: DasSkelett/AVC-VersionFileValidator@master | |
- name: Download DLL Dependencies | |
working-directory: Source | |
run: | | |
wget --user drewcassidy --password ${{ secrets.PILE_OF_ROCKS_PASS }} https://pileof.rocks/Secret/conformal-decals-dependencies-1.zip | |
unzip conformal-decals-dependencies-*.zip -d ConformalDecals/dlls | |
- name: Build DLL | |
working-directory: Source | |
run: | | |
mkdir -p ../GameData/ConformalDecals/Plugins | |
dotnet build --configuration Release ConformalDecals.sln | |
- name: Download KSP Dependencies | |
run: | | |
wget https://pileof.rocks/KSP/Shabby_v0.3.0.zip | |
wget https://ksp.sarbian.com/jenkins/job/ModuleManager/161/artifact/ModuleManager.4.2.1.dll | |
wget https://github.com/blowfishpro/B9PartSwitch/releases/download/v2.19.0/B9PartSwitch_v2.19.0.zip | |
wget https://github.com/KSPModdingLibs/HarmonyKSP/releases/download/2.0.4.0/HarmonyKSP_2.0.4.0_for_KSP1.8+.zip | |
unzip -d Shabby Shabby*.zip | |
unzip -d B9PartSwitch B9PartSwitch*.zip | |
unzip -d HarmonyKSP HarmonyKSP*.zip | |
mv Shabby/GameData/Shabby GameData/ | |
mv ModuleManager*.dll GameData/ | |
mv B9PartSwitch/GameData/B9PartSwitch GameData/ | |
mv HarmonyKSP/GameData/000_Harmony GameData/ | |
- name: Upload Unbundled Build | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ConformalDecals-unbundled | |
path: | | |
GameData/ConformalDecals/ | |
README.md | |
CHANGELOG.md | |
LICENSE-ART.md | |
LICENSE-SOURCE.md | |
- name: Upload Bundled Build | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ConformalDecals | |
path: | | |
GameData/ | |
README.md | |
CHANGELOG.md | |
LICENSE-ART.md | |
LICENSE-SOURCE.md | |
deploy: | |
needs: build | |
runs-on: ubuntu-latest | |
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Install Python Tools | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install yaclog | |
- name: Get version name and body | |
run: | | |
echo "VERSION_TITLE=$(yaclog show -n)" >> $GITHUB_ENV | |
yaclog show | |
- name: Download Build Artifacts | |
uses: actions/download-artifact@v4 | |
- name: Zip Download Packages | |
run: | | |
set -u | |
mkdir bundled | |
mkdir unbundled | |
zip -r bundled/ConformalDecals-$VERSION_TITLE.zip ConformalDecals/* | |
zip -r unbundled/ConformalDecals-$VERSION_TITLE.zip ConformalDecals-unbundled/* | |
ls | |
- name: Publish to Spacedock | |
run: | | |
set -u | |
curl -F "username=drewcassidy" -F "password=${{ secrets.SPACEDOCK_PASS }}" \ | |
-c ./cookies "https://spacedock.info/api/login" | |
curl -c ./cookies -b ./cookies \ | |
-F "version=$VERSION_TITLE" \ | |
-F "changelog=$(yaclog show -mb)" \ | |
-F "game-version=1.12.3" \ | |
-F "notify-followers=yes" \ | |
-F "zipball=@bundled/ConformalDecals-$VERSION_TITLE.zip" \ | |
"https://spacedock.info/api/mod/2451/update" | |
- name: Publish to Github | |
run: | | |
set -u | |
gh release create ${{ github.ref_name }} \ | |
--notes "$(yaclog show -mb)" \ | |
--title "Version $VERSION_TITLE" \ | |
bundled/ConformalDecals-*.zip | |
ConformalDecals/GameData/ConformalDecals/Versioning/ConformalDecals.version | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |