-
Notifications
You must be signed in to change notification settings - Fork 10
73 lines (71 loc) · 2.83 KB
/
githubactions-db.yml
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
name: "Github actions DB images"
on:
push:
branches:
- "main"
paths:
- ".github/workflows/githubactions-db.yml"
- "githubactions-db/**"
pull_request:
paths:
- ".github/workflows/githubactions-db.yml"
- "githubactions-db/**"
schedule:
- cron: '0 0 * * 1'
# Enable manual run
workflow_dispatch:
jobs:
build:
runs-on: "ubuntu-latest"
strategy:
fail-fast: false
matrix:
include:
- {image: "mariadb", version: "10.4", config-dir: "/etc/mysql/conf.d"}
- {image: "mariadb", version: "10.5", config-dir: "/etc/mysql/conf.d"}
- {image: "mariadb", version: "10.6", config-dir: "/etc/mysql/conf.d"}
- {image: "mariadb", version: "10.9", config-dir: "/etc/mysql/conf.d"}
- {image: "mariadb", version: "10.10", config-dir: "/etc/mysql/conf.d"}
- {image: "mariadb", version: "10.11", config-dir: "/etc/mysql/conf.d"}
- {image: "mariadb", version: "11.0", config-dir: "/etc/mysql/conf.d"}
- {image: "mariadb", version: "11.4", config-dir: "/etc/mysql/conf.d"}
- {image: "mysql", version: "5.7", config-dir: "/etc/mysql/conf.d"}
- {image: "mysql", version: "8.0", config-dir: "/etc/mysql/conf.d"}
- {image: "mysql", version: "8.4", config-dir: "/etc/mysql/conf.d"}
- {image: "percona", version: "5.7", config-dir: "/etc/my.cnf.d"}
- {image: "percona", version: "8.0", config-dir: "/etc/my.cnf.d"}
steps:
- name: "Set variables"
run: |
OUTPUTS="type=image"
if [[ "${{ github.ref }}" = 'refs/heads/main' && "${{ github.repository }}" = 'glpi-project/docker-images' ]]; then
OUTPUTS="$OUTPUTS,push=true"
fi
echo "OUTPUTS=$OUTPUTS" >> $GITHUB_ENV
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Set up Docker Buildx"
uses: "docker/setup-buildx-action@v3"
- name: "Login to DockerHub"
uses: "docker/login-action@v3"
with:
username: "${{ secrets.DOCKER_HUB_USERNAME }}"
password: "${{ secrets.DOCKER_HUB_TOKEN }}"
- name: "Login to Github container registry"
uses: "docker/login-action@v3"
with:
registry: "ghcr.io"
username: "${{ secrets.GHCR_USERNAME }}"
password: "${{ secrets.GHCR_ACCESS_TOKEN }}"
- name: "Build and push"
uses: "docker/build-push-action@v6"
with:
build-args: |
BASE_IMAGE=${{ matrix.image }}:${{ matrix.version }}
CONFIG_DIR=${{ matrix.config-dir }}
cache-from: "type=gha"
cache-to: "type=gha,mode=max"
context: "githubactions-db"
outputs: "${{ env.OUTPUTS }}"
pull: true
tags: "ghcr.io/glpi-project/githubactions-${{ matrix.image }}:${{ matrix.version }}"