11name : Upload release
2+ env :
3+ MOD_ID : 3484
4+ KSP2_ID : 22407
25
36on :
47 release :
@@ -24,10 +27,13 @@ jobs:
2427 run : |
2528 version=$(jq -r '.version' plugin_template/swinfo.json)
2629 echo "Version is $version"
30+ echo "version=$version" >> $GITHUB_ENV
2731 dotnet build "CommunityResources.sln" -c Release
2832 echo "release_filename=CommunityResources-$version.zip" >> $GITHUB_ENV
2933 echo "zip=$(ls -1 dist/CommunityResources-*.zip | head -n 1)" >> $GITHUB_ENV
3034 echo "upload_url=$(wget -qO- https://api.github.com/repos/$GITHUB_REPOSITORY/releases | jq '.[0].upload_url' | tr -d \")" >> $GITHUB_ENV
35+ echo "changelog=$(wget -qO- https://api.github.com/repos/$GITHUB_REPOSITORY/releases | jq '.[0].body' | tr -d \")" >> $GITHUB_ENV
36+ echo "${{ env.changelog }}" > ./changelog.md
3137
3238 - name : Upload zip to release
3339 uses : shogo82148/actions-upload-release-asset@v1.7.2
3844 asset_path : ${{ env.zip }}
3945 asset_name : ${{ env.release_filename }}
4046 asset_content_type : application/zip
47+
48+ - name : Add Mask
49+ run : echo "::add-mask::${{ secrets.SPACEDOCK_PASSWORD }}"
50+
51+ - name : Log in to spacedock
52+ run : |
53+ login_response=$(curl -F username=${{ secrets.SPACEDOCK_USER }} -F password=${{ secrets.SPACEDOCK_PASSWORD }} -c ./cookies "https://spacedock.info/api/login")
54+ login_errored=$(echo $login_response | jq .error)
55+ if [ "$login_errored" == "true" ]; then
56+ echo "Login to space dock errored: $(echo $login_response | jq .reason)"
57+ exit 1
58+ else
59+ echo "Login to space dock successful"
60+ fi
61+
62+ - name : Query latest game version
63+ run : |
64+ echo "LATEST_GAME_VERSION=$(curl 'https://spacedock.info/api/${{ env.KSP2_ID }}/versions' | jq '.[0].friendly_version' | tr -d \")" >> $GITHUB_ENV
65+
66+ - name : Update mod on spacedock
67+ run : |
68+ result=$(curl -b ./cookies -F "version=${{ env.version }}" -F "changelog=@./changelog.md" -F "game-version=${{ env.LATEST_GAME_VERSION }}" -F "notify-followers=yes" -F "zipball=@${{ env.zip }}" "https://spacedock.info/api/mod/${{ env.MOD_ID }}/update")
69+ errored=$(echo $result | jq .error)
70+ if [ "$errored" == "true" ]; then
71+ echo "Upload to space dock errored: $(echo $result | jq .reason)"
72+ exit 1
73+ else
74+ echo "Upload to space dock successful"
75+ fi
0 commit comments