From 644128803bddb7673800ea39a76dc4c26fa28acd Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Wed, 23 Nov 2022 13:25:08 -0700 Subject: [PATCH] Add Docker actions --- .github/workflows/docker-dev.yml | 36 ++++++++++++++++++++++++++ .github/workflows/docker-release.yml | 38 ++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 .github/workflows/docker-dev.yml create mode 100644 .github/workflows/docker-release.yml diff --git a/.github/workflows/docker-dev.yml b/.github/workflows/docker-dev.yml new file mode 100644 index 0000000..a183d2e --- /dev/null +++ b/.github/workflows/docker-dev.yml @@ -0,0 +1,36 @@ +name: Publish Development Image + +on: + push: + branches: ["main"] + +jobs: + push_to_registry: + name: Push Docker image to Docker Hub + runs-on: ubuntu-latest + steps: + - name: Check out the repo + uses: actions/checkout@v3 + + - name: Log in to Docker Hub + uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@57396166ad8aefe6098280995947635806a0e6ea + with: + images: jointakahe/takahe-dev + tags: | + type=edge,branch=main + + - name: Build and push Docker image + uses: docker/build-push-action@175d02bffea74695e96b351069ac938b338802f9 + with: + context: . + file: docker/Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml new file mode 100644 index 0000000..0f06462 --- /dev/null +++ b/.github/workflows/docker-release.yml @@ -0,0 +1,38 @@ +name: Publish Release Image + +on: + push: + tags: + - "[0-9]+.[0-9]+.[0-9]+" + +jobs: + push_to_registry: + name: Push Docker image to Docker Hub + runs-on: ubuntu-latest + steps: + - name: Check out the repo + uses: actions/checkout@v3 + + - name: Log in to Docker Hub + uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@57396166ad8aefe6098280995947635806a0e6ea + with: + images: jointakahe/takahe + tags: | + type=pep440,pattern={{version}} + type=pep440,pattern={{major}}.{{minor}} + + - name: Build and push Docker image + uses: docker/build-push-action@175d02bffea74695e96b351069ac938b338802f9 + with: + context: . + file: docker/Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}