@@ -16,15 +16,15 @@ jobs:
1616 with :
1717 fetch-depth : 100
1818 - name : Fetch tags
19- run : git fetch --depth=1 origin +refs/ tags/*:refs/tags/*
19+ run : git fetch --depth=1 -- tags origin
2020 - name : Describe current revision with tags
2121 id : describe-tags
2222 run : |
23- export GIT_TAGISH="$(git describe --tags)"
23+ GIT_TAGISH="$(git describe --tags)"
2424 echo "${GIT_TAGISH}"
2525 echo "::set-output name=git-tagish::${GIT_TAGISH}"
2626 - name : Install Ruby
27- uses : actions /setup-ruby@v1
27+ uses : ruby /setup-ruby@v1
2828 - name : Install NuGet
2929 uses : nuget/setup-nuget@v1
3030 - name : Install Gems
@@ -33,21 +33,22 @@ jobs:
3333 run : nuget restore
3434 - name : Set KSP Version
3535 run : |
36- echo "::set-env name=KSP_VERSION::$(cat KSP_VERSION)"
37- echo "${KSP_VERSION}"
36+ KSP_VERSION="$(cat ./KSP_VERSION)"
37+ echo "KSP Version: ${KSP_VERSION}"
38+ echo "::set-env name=KSP_VERSION::${KSP_VERSION}"
3839 - name : Download KSP DLLs
39- run : aws --no-sign-request s3 cp s3://blowfish-ksp-dlls/ksp-${{ env.KSP_VERSION }}.zip '/tmp/KSP_DLLs.zip'
40- - name : Set KSP DLL path
41- run : echo "::set-env name=KSP_DLL_PATH::/opt/ksp/assembly/${KSP_VERSION}"
42- - name : Extract KSP DLLs
40+ id : download-ksp-dlls
4341 run : |
42+ aws --no-sign-request s3 cp s3://blowfish-ksp-dlls/ksp-${{ env.KSP_VERSION }}.zip '/tmp/KSP_DLLs.zip'
43+ KSP_DLL_PATH="/opt/ksp/assembly/${KSP_VERSION}"
44+ echo "::set-output name=ksp-dll-path::${KSP_DLL_PATH}"
4445 mkdir -p "${KSP_DLL_PATH}"
4546 unzip '/tmp/KSP_DLLs.zip' -d "${KSP_DLL_PATH}"
4647 rm '/tmp/KSP_DLLs.zip'
4748 - name : Run Rubocop
4849 run : bundle exec rubocop
4950 - name : Compile Project
50- run : msbuild /p:Configuration=Release /p:ReferencePath="${KSP_DLL_PATH}" B9PartSwitch.sln
51+ run : msbuild /p:Configuration=Release /p:ReferencePath="${{ steps.download-ksp-dlls.outputs.ksp-dll-path }}"
5152 - name : Run Unit Tests
5253 run : mono packages/xunit.runner.console.*/tools/net471/xunit.console.exe B9PartSwitchTests/bin/Release/B9PartSwitchTests.dll
5354 - name : Extract Changelog
@@ -57,24 +58,29 @@ jobs:
5758 - name : Extract changelog for current release
5859 id : extract-single-changelog
5960 if : startsWith(github.ref, 'refs/tags/v')
61+ shell : bash
6062 run : |
61- bundle exec extract-changelog -s "$(git describe --tags)" -i "${RUNNER_TEMP}/B9PartSwitch-Changelog-all.md" -o "${RUNNER_TEMP}/B9PartSwitch-Changelog-Single.md"
62- cat "${RUNNER_TEMP}/B9PartSwitch-Changelog-Single.md"
63- echo "::set-output name=changelog-single::$(cat "${RUNNER_TEMP}/B9PartSwitch-Changelog-Single.md")"
63+ CHANGELOG_SINGLE_CONTENT="$(bundle exec extract-changelog -s "${GIT_TAGISH}" -i "${RUNNER_TEMP}/B9PartSwitch-Changelog-all.md")"
64+ echo '--- Changelog for this version: ---'
65+ echo "${CHANGELOG_SINGLE_CONTENT}"
66+ echo '--- End changelog ---'
67+ CHANGELOG_SINGLE_CONTENT="${CHANGELOG_SINGLE_CONTENT//'%'/'%25'}"
68+ CHANGELOG_SINGLE_CONTENT="${CHANGELOG_SINGLE_CONTENT//$'\n'/'%0A'}"
69+ CHANGELOG_SINGLE_CONTENT="${CHANGELOG_SINGLE_CONTENT//$'\r'/'%0D'}"
70+ echo "::set-output name=changelog-single::${CHANGELOG_SINGLE_CONTENT}"
6471 - name : Create version file
6572 id : create-version-file
6673 run : |
67- export VERSION_FILE="${RUNNER_TEMP}/B9PartSwitch.version"
74+ VERSION_FILE="${RUNNER_TEMP}/B9PartSwitch.version"
6875 bundle exec fill-version "${GITHUB_WORKSPACE}/templates/B9PartSwitch.version.erb" "${VERSION_FILE}"
6976 echo "::set-output name=version-file::${VERSION_FILE}"
70- - name : Set release directory
77+ - name : Assemble Release
78+ id : assemble-release
7179 run : |
7280 RELEASE_DIR="${RUNNER_TEMP}/release"
7381 echo "Release dir: ${RELEASE_DIR}"
7482 mkdir -v "${RELEASE_DIR}"
75- echo "::set-env name=RELEASE_DIR::${RELEASE_DIR}"
76- - name : Assemble Release
77- run : |
83+ echo "::set-output name=release-dir::${RELEASE_DIR}"
7884 cp -v -R "${GITHUB_WORKSPACE}/GameData" "${RELEASE_DIR}"
7985 cp -v "${GITHUB_WORKSPACE}/README.md" "${RELEASE_DIR}"
8086 cp -v "${GITHUB_WORKSPACE}/LICENSE" "${RELEASE_DIR}"
9096 uses : actions/upload-artifact@v1
9197 with :
9298 name : ${{ steps.set-release-package-name.outputs.release-package-name }}
93- path : ${{ env.RELEASE_DIR }}
99+ path : ${{ steps.assemble-release.outputs.release-dir }}
94100 - name : Verify result
95101 run : bundle exec rake spec
96102 release :
@@ -100,21 +106,22 @@ jobs:
100106 runs-on : ubuntu-latest
101107 steps :
102108 - name : Download release package artifact
103- uses : actions/download-artifact@v1
109+ id : download-release
110+ uses : actions/download-artifact@v2
104111 with :
105112 name : ${{ needs.build-and-test.outputs.release-package-name }}
113+ path : release/${{ needs.build-and-test.outputs.release-package-name }}
106114 - name : Upload .version file to S3
107- working-directory : ${{ needs.build-and-test.outputs.release-package-name }}
108115 env :
109116 AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
110117 AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
111118 run :
112- aws s3 cp ' GameData/B9PartSwitch/B9PartSwitch.version' "s3://blowfish-ksp-b9partswitch-avc/versions/$(git describe --tags)/B9PartSwitch.version"
119+ aws s3 cp "${{ steps.download-release.outputs.download-path }}/ GameData/B9PartSwitch/B9PartSwitch.version" "s3://blowfish-ksp-b9partswitch-avc/versions/$(git describe --tags)/B9PartSwitch.version"
113120 - name : Package release
114121 id : package-release
115- working-directory : ${{ needs.build-and-test .outputs.release-package-name }}
122+ working-directory : ${{ steps.download-release .outputs.download-path }}
116123 run : |
117- export RELEASE_FILENAME="${RUNNER_TEMP}/${{ needs.build-and-test.outputs.release-package-name }}.zip"
124+ RELEASE_FILENAME="${RUNNER_TEMP}/${{ needs.build-and-test.outputs.release-package-name }}.zip"
118125 echo "Release filename: ${RELEASE_FILENAME}"
119126 zip -v -r "${RELEASE_FILENAME}" *
120127 echo "::set-output name=release-package-filename::${RELEASE_FILENAME}"
@@ -124,6 +131,7 @@ jobs:
124131 env :
125132 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
126133 with :
134+ prerelease : true
127135 tag_name : ${{ github.ref }}
128136 release_name : B9PartSwitch ${{ github.ref }} for KSP ${{ needs.build-and-test.outputs.ksp-version }}
129137 body : ${{ needs.build-and-test.outputs.release-changelog }}
@@ -134,7 +142,7 @@ jobs:
134142 with :
135143 upload_url : ${{ steps.create-release.outputs.upload_url }}
136144 asset_path : ${{ steps.package-release.outputs.release-package-filename }}
137- asset_name : ${{ steps.package-release .outputs.release-package-filename }}
145+ asset_name : ${{ needs.build-and-test .outputs.release-package-name }}
138146 asset_content_type : application/zip
139147 - name : Print release url
140148 run : echo "Release successful! You can view it at ${{ steps.create-release.outputs.html_url }}"
0 commit comments