chore: building images using Docker bake
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
/*.hcl linguist-detectable=false
|
||||||
@@ -24,7 +24,7 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
-
|
-
|
||||||
name: Prepare
|
name: Prepare
|
||||||
run: echo "TAG=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV
|
run: echo "VERSION=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV
|
||||||
-
|
-
|
||||||
name: Set up QEMU
|
name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@v3
|
||||||
@@ -45,20 +45,26 @@ jobs:
|
|||||||
username: ${{ github.actor }}
|
username: ${{ github.actor }}
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
-
|
-
|
||||||
name: Build and push
|
name: Docker meta
|
||||||
uses: docker/build-push-action@v6
|
id: meta
|
||||||
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
context: '.'
|
labels: |
|
||||||
file: './Dockerfile'
|
org.opencontainers.image.title=vaultwarden-backup
|
||||||
platforms: 'linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7'
|
org.opencontainers.image.description=Backup vaultwarden SQLite3/PostgreSQL/MySQL/MariaDB database by rclone
|
||||||
|
org.opencontainers.image.authors=ttionya
|
||||||
|
org.opencontainers.image.version=${{ env.VERSION }}
|
||||||
|
-
|
||||||
|
name: Build and push
|
||||||
|
uses: docker/bake-action@v5
|
||||||
|
env:
|
||||||
|
VERSION: ${{ env.VERSION }}
|
||||||
|
with:
|
||||||
|
files: |
|
||||||
|
./docker-bake.hcl
|
||||||
|
${{ steps.meta.outputs.bake-file-labels }}
|
||||||
|
targets: image-stable
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
|
||||||
ttionya/vaultwarden-backup:latest
|
|
||||||
ttionya/vaultwarden-backup:${{ env.TAG }}
|
|
||||||
ttionya/bitwardenrs-backup:latest
|
|
||||||
ttionya/bitwardenrs-backup:${{ env.TAG }}
|
|
||||||
ghcr.io/ttionya/vaultwarden-backup:latest
|
|
||||||
ghcr.io/ttionya/vaultwarden-backup:${{ env.TAG }}
|
|
||||||
|
|
||||||
publish-beta:
|
publish-beta:
|
||||||
name: Docker Publish Beta
|
name: Docker Publish Beta
|
||||||
@@ -73,7 +79,7 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
-
|
-
|
||||||
name: Prepare
|
name: Prepare
|
||||||
run: echo "TAG=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV
|
run: echo "VERSION=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV
|
||||||
-
|
-
|
||||||
name: Set up QEMU
|
name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@v3
|
||||||
@@ -87,15 +93,26 @@ jobs:
|
|||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
-
|
-
|
||||||
name: Build and push
|
name: Docker meta
|
||||||
uses: docker/build-push-action@v6
|
id: meta
|
||||||
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
context: '.'
|
labels: |
|
||||||
file: './Dockerfile'
|
org.opencontainers.image.title=vaultwarden-backup
|
||||||
platforms: 'linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7'
|
org.opencontainers.image.description=Backup vaultwarden SQLite3/PostgreSQL/MySQL/MariaDB database by rclone
|
||||||
|
org.opencontainers.image.authors=ttionya
|
||||||
|
org.opencontainers.image.version=${{ env.VERSION }}
|
||||||
|
-
|
||||||
|
name: Build and push
|
||||||
|
uses: docker/bake-action@v5
|
||||||
|
env:
|
||||||
|
VERSION: ${{ env.VERSION }}
|
||||||
|
with:
|
||||||
|
files: |
|
||||||
|
./docker-bake.hcl
|
||||||
|
${{ steps.meta.outputs.bake-file-labels }}
|
||||||
|
targets: image-beta
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
|
||||||
ttionya/vaultwarden-backup:${{ env.TAG }}
|
|
||||||
|
|
||||||
publish-schedule:
|
publish-schedule:
|
||||||
name: Docker Publish Schedule
|
name: Docker Publish Schedule
|
||||||
@@ -121,7 +138,7 @@ jobs:
|
|||||||
name: Prepare
|
name: Prepare
|
||||||
run: |
|
run: |
|
||||||
TAG=${{ steps.tag.outputs.release }}
|
TAG=${{ steps.tag.outputs.release }}
|
||||||
echo "TAG=${TAG#v}" >> $GITHUB_ENV
|
echo "VERSION=${TAG#v}" >> $GITHUB_ENV
|
||||||
-
|
-
|
||||||
name: Set up QEMU
|
name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@v3
|
||||||
@@ -142,17 +159,23 @@ jobs:
|
|||||||
username: ${{ github.actor }}
|
username: ${{ github.actor }}
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
-
|
-
|
||||||
name: Build and push
|
name: Docker meta
|
||||||
uses: docker/build-push-action@v6
|
id: meta
|
||||||
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
context: '.'
|
labels: |
|
||||||
file: './Dockerfile'
|
org.opencontainers.image.title=vaultwarden-backup
|
||||||
platforms: 'linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7'
|
org.opencontainers.image.description=Backup vaultwarden SQLite3/PostgreSQL/MySQL/MariaDB database by rclone
|
||||||
|
org.opencontainers.image.authors=ttionya
|
||||||
|
org.opencontainers.image.version=${{ env.VERSION }}
|
||||||
|
-
|
||||||
|
name: Build and push
|
||||||
|
uses: docker/bake-action@v5
|
||||||
|
env:
|
||||||
|
VERSION: ${{ env.VERSION }}
|
||||||
|
with:
|
||||||
|
files: |
|
||||||
|
./docker-bake.hcl
|
||||||
|
${{ steps.meta.outputs.bake-file-labels }}
|
||||||
|
targets: image-schedule
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
|
||||||
ttionya/vaultwarden-backup:latest
|
|
||||||
ttionya/vaultwarden-backup:${{ env.TAG }}
|
|
||||||
ttionya/bitwardenrs-backup:latest
|
|
||||||
ttionya/bitwardenrs-backup:${{ env.TAG }}
|
|
||||||
ghcr.io/ttionya/vaultwarden-backup:latest
|
|
||||||
ghcr.io/ttionya/vaultwarden-backup:${{ env.TAG }}
|
|
||||||
|
|||||||
@@ -37,22 +37,18 @@ jobs:
|
|||||||
driver-opts: network=host
|
driver-opts: network=host
|
||||||
-
|
-
|
||||||
name: Build base image
|
name: Build base image
|
||||||
uses: docker/build-push-action@v6
|
uses: docker/bake-action@v5
|
||||||
with:
|
with:
|
||||||
context: '.'
|
files: ./docker-bake.hcl
|
||||||
file: './Dockerfile'
|
targets: image-test-base
|
||||||
platforms: 'linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7'
|
|
||||||
push: true
|
push: true
|
||||||
tags: localhost:5000/base:dev
|
|
||||||
-
|
-
|
||||||
name: Build test image
|
name: Build test image
|
||||||
uses: docker/build-push-action@v6
|
uses: docker/bake-action@v5
|
||||||
with:
|
with:
|
||||||
context: '.'
|
files: ./docker-bake.hcl
|
||||||
file: './tests/Dockerfile'
|
targets: image-test
|
||||||
build-contexts: base=docker-image://localhost:5000/base:dev
|
|
||||||
load: true
|
load: true
|
||||||
tags: ttionya/vaultwarden-backup:test
|
|
||||||
-
|
-
|
||||||
name: Test
|
name: Test
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
+2
-4
@@ -1,8 +1,6 @@
|
|||||||
FROM rclone/rclone:1.68.2
|
# syntax=docker/dockerfile:1
|
||||||
|
|
||||||
LABEL "repository"="https://github.com/ttionya/vaultwarden-backup" \
|
FROM rclone/rclone:1.68.2
|
||||||
"homepage"="https://github.com/ttionya/vaultwarden-backup" \
|
|
||||||
"maintainer"="ttionya <git@ttionya.com>"
|
|
||||||
|
|
||||||
ARG USER_NAME="backuptool"
|
ARG USER_NAME="backuptool"
|
||||||
ARG USER_ID="1100"
|
ARG USER_ID="1100"
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
variable "VERSION" {
|
||||||
|
default = "latest"
|
||||||
|
}
|
||||||
|
|
||||||
|
target "docker-metadata-action" {}
|
||||||
|
|
||||||
|
target "_common" {
|
||||||
|
inherits = ["docker-metadata-action"]
|
||||||
|
context = "."
|
||||||
|
dockerfile = "Dockerfile"
|
||||||
|
platforms = [
|
||||||
|
"linux/amd64",
|
||||||
|
"linux/arm64",
|
||||||
|
"linux/arm/v6",
|
||||||
|
"linux/arm/v7"
|
||||||
|
]
|
||||||
|
tags = [
|
||||||
|
"ttionya/vaultwarden-backup:latest",
|
||||||
|
"ttionya/vaultwarden-backup:${VERSION}",
|
||||||
|
"ttionya/bitwardenrs-backup:latest",
|
||||||
|
"ttionya/bitwardenrs-backup:${VERSION}",
|
||||||
|
"ghcr.io/ttionya/vaultwarden-backup:latest",
|
||||||
|
"ghcr.io/ttionya/vaultwarden-backup:${VERSION}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
target "image-stable" {
|
||||||
|
inherits = ["_common"]
|
||||||
|
}
|
||||||
|
|
||||||
|
target "image-schedule" {
|
||||||
|
inherits = ["image-stable"]
|
||||||
|
}
|
||||||
|
|
||||||
|
target "image-beta" {
|
||||||
|
inherits = ["_common"]
|
||||||
|
tags = [
|
||||||
|
"ttionya/vaultwarden-backup:${VERSION}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
target "image-test-base" {
|
||||||
|
inherits = ["_common"]
|
||||||
|
tags = [
|
||||||
|
"localhost:5000/base:dev"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
target "image-test" {
|
||||||
|
inherits = ["_common"]
|
||||||
|
dockerfile = "./tests/Dockerfile"
|
||||||
|
contexts = {
|
||||||
|
base = "docker-image://localhost:5000/base:dev"
|
||||||
|
}
|
||||||
|
tags = [
|
||||||
|
"ttionya/vaultwarden-backup:test"
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user