Skip to content

Commit 36a5b60

Browse files
authored
Merge pull request blowfishpro#202 from blowfishpro/FixUpActions
Fix up actions
2 parents ad3fb19 + e33b311 commit 36a5b60

File tree

1 file changed

+33
-25
lines changed

1 file changed

+33
-25
lines changed

.github/workflows/build-and-test.yml

Lines changed: 33 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -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}"
@@ -90,7 +96,7 @@ jobs:
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

Comments
 (0)