|
1 | 1 | name: ci-publish-tag
|
2 | 2 |
|
3 | 3 | on:
|
4 |
| - push: |
5 |
| - tags: |
6 |
| - - '*.*' |
| 4 | + workflow_dispatch: |
7 | 5 |
|
8 | 6 | jobs:
|
9 | 7 | multi-registries:
|
10 | 8 | runs-on: ubuntu-latest
|
11 | 9 | steps:
|
12 |
| - - |
13 |
| - name: Checkout |
| 10 | + # SETUP ENVIRONMENT |
| 11 | + - name: Checkout |
14 | 12 | uses: actions/checkout@v2
|
15 |
| - - |
16 |
| - name: Set up QEMU |
| 13 | + - name: Set up QEMU |
17 | 14 | uses: docker/setup-qemu-action@v1
|
18 |
| - - |
19 |
| - name: Set up Docker Buildx |
| 15 | + - name: Set up Docker Buildx |
20 | 16 | uses: docker/setup-buildx-action@v1
|
21 |
| - - |
22 |
| - name: Get the version |
23 |
| - id: vars |
24 |
| - run: echo ::set-output name=tag::$(echo ${GITHUB_REF:10}) |
25 |
| - - |
26 |
| - name: Login to DockerHub |
27 |
| - uses: docker/login-action@v1 |
| 17 | + # GENERATE CHANGELOG, TAG, RELEASE |
| 18 | + - id: conventional_changelog |
| 19 | + uses: ardalanamini/auto-changelog@master |
| 20 | + with: |
| 21 | + token: ${{ secrets.GITHUB_TOKEN }} |
| 22 | + - id: compute_tag |
| 23 | + uses: craig-day/compute-tag@v11 |
| 24 | + with: |
| 25 | + github_token: ${{ secrets.GITHUB_TOKEN }} |
| 26 | + version_scheme: semantic |
| 27 | + version_type: patch |
| 28 | + # MAJOR.MINOR.PATCH |
| 29 | + - name: Create Release |
| 30 | + id: create_release |
| 31 | + uses: actions/create-release@latest |
| 32 | + env: |
| 33 | + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| 34 | + with: |
| 35 | + tag_name: ${{ steps.compute_tag.outputs.next_tag }} |
| 36 | + release_name: "App-Collection" |
| 37 | + body: | |
| 38 | + Automatic release of version: **${{ steps.compute_tag.outputs.next_tag }}** |
| 39 | + **Changes in this release:** |
| 40 | + ${{ steps.conventional_changelog.outputs.changelog }} |
| 41 | + draft: false |
| 42 | + prerelease: false |
| 43 | + # DOCKER RELATED |
| 44 | + - name: Login to DockerHub |
| 45 | + uses: docker/login-action@v1 |
28 | 46 | with:
|
29 | 47 | username: ${{ secrets.DOCKERHUB_USERNAME }}
|
30 | 48 | password: ${{ secrets.DOCKERHUB_TOKEN }}
|
31 |
| - - |
32 |
| - name: Login to GitHub Container Registry |
33 |
| - uses: docker/login-action@v1 |
| 49 | + - name: Login to GitHub Container Registry |
| 50 | + uses: docker/login-action@v1 |
34 | 51 | with:
|
35 | 52 | registry: ghcr.io
|
36 | 53 | username: ${{ github.repository_owner }}
|
37 | 54 | password: ${{ secrets.CR_PAT }}
|
38 |
| - - |
39 |
| - name: Build and push |
| 55 | + - name: Build and push |
40 | 56 | uses: docker/build-push-action@v2
|
41 | 57 | with:
|
42 | 58 | context: .
|
|
46 | 62 | tags: |
|
47 | 63 | ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO }}:latest
|
48 | 64 | ghcr.io/${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO }}:latest
|
49 |
| - ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO }}:${{steps.vars.outputs.tag}} |
50 |
| - ghcr.io/${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO }}:${{steps.vars.outputs.tag}} |
| 65 | + ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO }}:${{ steps.compute_tag.outputs.next_tag }} |
| 66 | + ghcr.io/${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO }}:${{ steps.compute_tag.outputs.next_tag }} |
0 commit comments