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
|
||||
-
|
||||
name: Prepare
|
||||
run: echo "TAG=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV
|
||||
run: echo "VERSION=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
@@ -45,20 +45,26 @@ jobs:
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
context: '.'
|
||||
file: './Dockerfile'
|
||||
platforms: 'linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7'
|
||||
labels: |
|
||||
org.opencontainers.image.title=vaultwarden-backup
|
||||
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
|
||||
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:
|
||||
name: Docker Publish Beta
|
||||
@@ -73,7 +79,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
-
|
||||
name: Prepare
|
||||
run: echo "TAG=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV
|
||||
run: echo "VERSION=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
@@ -87,15 +93,26 @@ jobs:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
context: '.'
|
||||
file: './Dockerfile'
|
||||
platforms: 'linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7'
|
||||
labels: |
|
||||
org.opencontainers.image.title=vaultwarden-backup
|
||||
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
|
||||
tags: |
|
||||
ttionya/vaultwarden-backup:${{ env.TAG }}
|
||||
|
||||
publish-schedule:
|
||||
name: Docker Publish Schedule
|
||||
@@ -121,7 +138,7 @@ jobs:
|
||||
name: Prepare
|
||||
run: |
|
||||
TAG=${{ steps.tag.outputs.release }}
|
||||
echo "TAG=${TAG#v}" >> $GITHUB_ENV
|
||||
echo "VERSION=${TAG#v}" >> $GITHUB_ENV
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
@@ -142,17 +159,23 @@ jobs:
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
context: '.'
|
||||
file: './Dockerfile'
|
||||
platforms: 'linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7'
|
||||
labels: |
|
||||
org.opencontainers.image.title=vaultwarden-backup
|
||||
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
|
||||
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
|
||||
-
|
||||
name: Build base image
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/bake-action@v5
|
||||
with:
|
||||
context: '.'
|
||||
file: './Dockerfile'
|
||||
platforms: 'linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7'
|
||||
files: ./docker-bake.hcl
|
||||
targets: image-test-base
|
||||
push: true
|
||||
tags: localhost:5000/base:dev
|
||||
-
|
||||
name: Build test image
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/bake-action@v5
|
||||
with:
|
||||
context: '.'
|
||||
file: './tests/Dockerfile'
|
||||
build-contexts: base=docker-image://localhost:5000/base:dev
|
||||
files: ./docker-bake.hcl
|
||||
targets: image-test
|
||||
load: true
|
||||
tags: ttionya/vaultwarden-backup:test
|
||||
-
|
||||
name: Test
|
||||
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" \
|
||||
"homepage"="https://github.com/ttionya/vaultwarden-backup" \
|
||||
"maintainer"="ttionya <git@ttionya.com>"
|
||||
FROM rclone/rclone:1.68.2
|
||||
|
||||
ARG USER_NAME="backuptool"
|
||||
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