Skip to content

Commit 8842f3c

Browse files
authored
Merge pull request #3 from WyriHaximusNet/add-craft-release-workflow
Add Craft Release workflow
2 parents d1f3e0b + 33d48b4 commit 8842f3c

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: Create Release & And push Docker image
2+
3+
env:
4+
MILESTONE: ${{ github.event.milestone.title }}
5+
on:
6+
milestone:
7+
types:
8+
- closed
9+
jobs:
10+
generate-changelog:
11+
name: Generate Changelog
12+
runs-on: ubuntu-latest
13+
outputs:
14+
changelog: ${{ steps.changelog.outputs.changelog }}
15+
steps:
16+
- name: Generate changelog
17+
uses: WyriHaximus/github-action-jwage-changelog-generator@v1
18+
id: changelog
19+
env:
20+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
21+
with:
22+
milestone: ${{ env.MILESTONE }}
23+
- name: Show changelog
24+
run: echo "${CHANGELOG}"
25+
env:
26+
CHANGELOG: ${{ steps.changelog.outputs.changelog }}
27+
create-release:
28+
name: Create Release
29+
needs:
30+
- generate-changelog
31+
runs-on: ubuntu-latest
32+
steps:
33+
- uses: actions/checkout@v2
34+
env:
35+
CHANGELOG: ${{ needs.generate-changelog.outputs.changelog }}
36+
- run: |
37+
echo -e "${MILESTONE_DESCRIPTION}\r\n\r\n${CHANGELOG}" > release-${{ env.MILESTONE }}-release-message.md
38+
cat release-${{ env.MILESTONE }}-release-message.md
39+
release_message=$(cat release-${{ env.MILESTONE }}-release-message.md)
40+
release_message="${release_message//'%'/'%25'}"
41+
release_message="${release_message//$'\n'/'%0A'}"
42+
release_message="${release_message//$'\r'/'%0D'}"
43+
echo "::set-output name=release_message::$release_message"
44+
id: releasemessage
45+
env:
46+
MILESTONE_DESCRIPTION: ${{ github.event.milestone.description }}
47+
CHANGELOG: ${{ needs.generate-changelog.outputs.changelog }}
48+
- name: Create Release with Changelog
49+
uses: fleskesvor/create-release@feature/support-target-commitish
50+
env:
51+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
52+
with:
53+
tag_name: ${{ env.MILESTONE }}
54+
release_name: ${{ env.MILESTONE }}
55+
body: ${{ steps.releasemessage.outputs.release_message }}
56+
draft: false
57+
prerelease: false
58+
tag:
59+
runs-on: 'ubuntu-latest'
60+
steps:
61+
- uses: actions/checkout@v2
62+
- run: docker build . -t "${DOCKER_IMAGE}:${{ env.MILESTONE }}"
63+
- name: Login to Docker Hub
64+
run: |
65+
echo "${{ secrets.HUB_PASSCODE }}" | \
66+
docker login \
67+
--username "${{ secrets.HUB_USERNAME }}" \
68+
--password-stdin
69+
- name: Push release
70+
run: docker push "${DOCKER_IMAGE}:${{ env.MILESTONE }}"

0 commit comments

Comments
 (0)