aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.github/workflows/docker.yaml58
1 files changed, 58 insertions, 0 deletions
diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml
new file mode 100644
index 00000000..8a616dba
--- /dev/null
+++ b/.github/workflows/docker.yaml
@@ -0,0 +1,58 @@
+name: Build docker image
+
+on:
+ push:
+ branches:
+ - 'main'
+ tags:
+ - 'v*'
+
+permissions:
+ packages: write
+
+jobs:
+ build:
+ name: build and publish atuin image
+ runs-on: ubuntu-latest
+ steps:
+
+ - name: Check Out Repo
+ uses: actions/checkout@v2
+
+ - name: Docker meta
+ id: meta
+ uses: docker/metadata-action@v3
+ with:
+ images: ghcr.io/${{ github.repository_owner }}/atuin
+ tags: |
+ type=ref,event=pr
+ type=ref,event=branch
+ type=semver,pattern={{version}}
+ type=semver,pattern={{major}}.{{minor}}
+
+ - name: Set up Docker Buildx
+ id: buildx
+ uses: docker/setup-buildx-action@v1
+
+ - name: Login to Docker Hub
+ uses: docker/login-action@v1
+ with:
+ registry: ghcr.io
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Build and push
+ id: docker_build
+ uses: docker/build-push-action@v2
+ with:
+ context: ./
+ file: ./Dockerfile
+ builder: ${{ steps.buildx.outputs.name }}
+ push: true
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
+ cache-from: type=gha
+ cache-to: type=gha,mode=max
+
+ - name: Image digest
+ run: echo ${{ steps.docker_build.outputs.digest }}