Publish container to ghcr.io (#101)

This commit is contained in:
DG
2021-08-21 14:21:38 -04:00
committed by GitHub
parent b8325d72fc
commit e061b506d1
6 changed files with 54 additions and 27 deletions

View File

@@ -1,6 +1,6 @@
# Based on https://github.com/actions-rs/meta/blob/master/recipes/quickstart.md
on: [push, pull_request]
on: [pull_request]
name: ci

View File

@@ -1,27 +1,50 @@
name: Publish Docker image
on:
push:
tags:
- v*
name: Publish Container
on: [push]
jobs:
push_to_registry:
name: Push Docker image to Docker Hub
name: Push to container registry
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v2
- name: Publish version to Registry
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: davegallant/rfd-notify
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
tag_semver: true
- name: Publish latest to Registry
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: davegallant/rfd-notify
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
tags: "latest"
- uses: actions/checkout@v2
- name: Prepare
id: prep
run: |
IMAGE_NAME=ghcr.io/${{ github.repository_owner }}/rfd-notify
VERSION=${GITHUB_REF##*/}
if [[ $GITHUB_REF == refs/heads/main ]]; then
VERSION=latest
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/v}
fi
TAGS="${IMAGE_NAME}:${VERSION}"
if [[ $VERSION =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
TAGS="$TAGS,${IMAGE_NAME}:latest"
fi
echo ::set-output name=tags::${TAGS}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to GitHub Packages Docker Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Push to Packages
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ steps.prep.outputs.tags }}

View File

@@ -26,10 +26,14 @@ jobs:
- uses: hecrj/setup-rust-action@v1
with:
rust-version: stable
- uses: actions/checkout@v1
- name: Build
run: cargo build --release --locked
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}