Files
gonic/.github/workflows/release.yaml
Jef LeCompte c2c7eb249f feat(ci): use ghcr and auto release
- Pushes images to GitHub Container Registry (GHCR) to deprecate Docker Hub
- Auto releases for nightly
- Auto releases for new release
2021-05-08 23:56:40 +01:00

46 lines
1.6 KiB
YAML

name: Release
on:
push:
branches:
- master
jobs:
release-please:
name: Run release-please
runs-on: ubuntu-latest
outputs:
release_created: ${{ steps.release.outputs.release_created }}
tag_name: ${{ steps.release.outputs.tag_name }}
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup release please
uses: google-github-actions/release-please-action@v2
id: release
with:
token: ${{ secrets.GITHUB_TOKEN }}
release-type: simple
changelog-path: CHANGELOG.md
package-name: gonic
build-tag-publish:
name: Build, tag, and publish Docker image
if: ${{ needs.release-please.outputs.release_created }}
needs: release-please
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Update version.go
run: sed -Ei 's/VERSION = "v0.0.0"/VERSION = "${{ needs.release-please.outputs.tag_name }}"/g' version/version.go
- name: Login into GitHub Container Registry
run: echo ${{ secrets.CR_PAT }} | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin
- name: Build Docker image
if: ${{ needs.release-please.outputs.release_created }}
run: |
docker build \
-t "ghcr.io/${GITHUB_REPOSITORY}:${{ needs.release-please.outputs.tag_name }}" \
-t "ghcr.io/${GITHUB_REPOSITORY}:latest" .
- name: Release Docker image
run: |
docker push "ghcr.io/${GITHUB_REPOSITORY}:${{ needs.release-please.outputs.tag_name }}"
docker push "ghcr.io/${GITHUB_REPOSITORY}:latest"