name: Docker
on:
release:
types: [created, published]
workflow_dispatch: {}
jobs:
docker:
name: Build Docker Image
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build and push
run: |
IMAGE=ghcr.io/${{ github.repository }}
TAG=$(cargo metadata --no-deps --quiet | jq -r '.packages[0] | .version')
docker build . -t $IMAGE:$TAG -t $IMAGE:latest
docker push --all-tags $IMAGE