-
Notifications
You must be signed in to change notification settings - Fork 1
134 lines (124 loc) · 3.46 KB
/
backups.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
on:
push:
branches:
- main
paths:
- .github/workflows/backups.yaml
- backups/*
- '!backups/README.md'
permissions:
contents: write
packages: write
jobs:
build-image:
strategy:
matrix:
variants:
- name: file-backup
tag: file-backup
args: |
DEBIAN_VERSION=bookworm
- name: mongo-dump
tag: mongodump
args: |
DEBIAN_VERSION=bookworm
- name: mysql-dump
tag: mysqldump
args: |
DEBIAN_VERSION=bookworm
- name: ssh-file
tag: sshfile
args: |
DEBIAN_VERSION=bookworm
- name: ssh-command
tag: sshcommand
args: |
DEBIAN_VERSION=bookworm
- name: pg-basebackup
tag: pg13-basebackup
args: |
PGVERSION=13
DEBIAN_VERSION=bookworm
- name: pg-dump
tag: pg13-dump
args: |
PGVERSION=13
DEBIAN_VERSION=bookworm
- name: pg-basebackup
tag: pg14-basebackup
args: |
PGVERSION=14
DEBIAN_VERSION=bookworm
- name: pg-dump
tag: pg14-dump
args: |
PGVERSION=14
DEBIAN_VERSION=bookworm
- name: pg-basebackup
tag: pg15-basebackup
args: |
PGVERSION=15
DEBIAN_VERSION=bookworm
- name: pg-dump
tag: pg15-dump
args: |
PGVERSION=15
DEBIAN_VERSION=bookworm
- name: pg-basebackup
tag: pg16-basebackup
args: |
PGVERSION=16
DEBIAN_VERSION=bookworm
- name: pg-dump
tag: pg16-dump
args: |
PGVERSION=16
DEBIAN_VERSION=bookworm
- name: pg-basebackup
tag: pg17-basebackup
args: |
PGVERSION=17
DEBIAN_VERSION=bookworm
- name: pg-dump
tag: pg17-dump
args: |
PGVERSION=17
DEBIAN_VERSION=bookworm
name: Build Image
runs-on: ubuntu-latest
env:
REGISTRY: ghcr.io
IMAGE_NAME: parmincloud/containers/backups
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Build and push Docker image
id: build-and-push-release
uses: docker/build-push-action@v6
with:
cache-from: type=gha
cache-to: type=gha,mode=max
context: ./backups
file: ./backups/Containerfile
labels: ${{ steps.meta.outputs.labels }}
target: ${{ matrix.variants.name }}
push: true
platforms: linux/amd64
build-args: ${{ matrix.variants.args }}
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.variants.tag }}