about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYusuke Nakamura <unasuke@users.noreply.github.com>2021-11-12 13:18:29 +0900
committerGitHub <noreply@github.com>2021-11-12 05:18:29 +0100
commite510302a7ccd3fe78327d0f1aeaaec65ddfd269d (patch)
tree041424c61b8a67a31ed7a0925ac4297c18aad764
parent18b885ee3a20c02f5be41d6a04c910175ab00f54 (diff)
Build container image by GitHub Actions (#16973)
* Build container image by GitHub Actions

* Trigger docker build only pushed to main branch

* Tweak tagging imgae

- "edge" is the main branch
- "latest" is the tagged latest release
-rw-r--r--.github/workflows/build-image.yml34
1 files changed, 34 insertions, 0 deletions
diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml
new file mode 100644
index 000000000..2ec6b3d4b
--- /dev/null
+++ b/.github/workflows/build-image.yml
@@ -0,0 +1,34 @@
+name: Build container image
+on:
+  push:
+    branches:
+      - "main"
+    tags:
+      - "*"
+jobs:
+  build-image:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+      - uses: docker/setup-buildx-action@v1
+      - uses: docker/login-action@v1
+        with:
+          registry: ghcr.io
+          username: ${{ github.repository_owner }}
+          password: ${{ secrets.GITHUB_TOKEN }}
+      - uses: docker/metadata-action@v3
+        id: meta
+        with:
+          images: ghcr.io/${{ github.repository_owner }}/mastodon
+          flavor: |
+            latest=true
+          tags: |
+            type=edge,branch=main
+            type=semver,pattern={{ raw }}
+      - uses: docker/build-push-action@v2
+        with:
+          context: .
+          push: true
+          tags: ${{ steps.meta.outputs.tags }}
+          cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/mastodon:latest
+          cache-to: type=inline