Add auto create release #12
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: push | |
env: | |
GHCR_IMAGE: ghcr.io/${{ github.repository }} | |
REGISTRY: ghcr.io | |
IMAGE_NAME: ${{ github.repository }} | |
DO_REG_ENDPOINT: ghcr.io | |
ECR_REGISTRY: ${{ secrets.AWS_ECR_REGISTRY }} | |
jobs: | |
update_release_draft: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Get Version | |
uses: sergeysova/jq-action@v2 | |
id: version | |
with: | |
cmd: 'jq .version package.json -r' | |
- name: Prepare environment variable for release-drafter | |
run: echo 'VERSION=${{ steps.version.outputs.value }}' >> $GITHUB_ENV | |
- uses: release-drafter/release-drafter@v5 | |
with: | |
config-name: release-drafter.yml | |
version: ${{ env.VERSION }} | |
publish: true | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
build-images: | |
name: Build Images | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Get Version | |
uses: sergeysova/jq-action@v2 | |
id: version | |
with: | |
cmd: 'jq .version package.json -r' | |
- name: Prepare environment variable for batch script | |
run: | |
echo 'VERSION=${{ steps.version.outputs.value }}' >> $GITHUB_ENV && export VERSION=${{ env.VERSION }} && | |
export DO_REG_ENDPOINT=${{ env.REGISTRY }} && export IMAGE_NAME=${{ github.repository }} | |
- name: Setup QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Setup Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Cache Docker layers | |
uses: actions/cache@v3 | |
with: | |
path: /tmp/.buildx-cache | |
key: ${{ runner.os }}-buildx-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-buildx- | |
- name: Extract metadata for Docker image | |
id: meta | |
uses: docker/metadata-action@v4 | |
with: | |
images: | | |
${{ env.GHCR_IMAGE }} | |
tags: | | |
type=semver,pattern={{version}} | |
type=semver,pattern={{major}}.{{minor}} | |
type=semver,pattern={{major}} | |
- name: Login to GHCR | |
uses: docker/login-action@v2 | |
if: env.GHCR_IMAGE | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v3 | |
with: | |
context: . | |
file: ./Dockerfile | |
tags: ${{ env.GHCR_IMAGE }}:${{ env.VERSION }} | |
labels: ${{ steps.meta.outputs.labels }} | |
platforms: linux/amd64,linux/arm64 | |
push: true | |
cache-from: type=local,src=/tmp/.buildx-cache | |
cache-to: type=local,dest=/tmp/.buildx-cache-new | |
# Temp fix: | |
# https://github.com/docker/build-push-action/issues/252 | |
# https://github.com/moby/buildkit/issues/1896 | |
- name: Move cache | |
run: | | |
rm -rf /tmp/.buildx-cache | |
mv /tmp/.buildx-cache-new /tmp/.buildx-cache |