generated from bfren/docker-alpine-s6
-
-
Notifications
You must be signed in to change notification settings - Fork 0
139 lines (136 loc) · 5.3 KB
/
dev.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
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
134
135
136
137
138
139
name: dev
on:
push:
branches: ['**']
tags-ignore: ['**']
workflow_dispatch:
env:
TEST_TAG: debian-s6:test
jobs:
build:
strategy:
fail-fast: false
matrix:
debian: [ "11", "12" ]
runs-on: ubuntu-latest
steps:
-
name: Checkout code
uses: actions/checkout@v4
-
name: Get repository name
run: echo "REPOSITORY_NAME=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV
shell: bash
-
name: Read Debian name
uses: bfren/read-file@v2
with:
file: ./${{ matrix.debian }}/DEBIAN_NAME
id: debian_name
-
name: Read image version
uses: bfren/read-file@v2
with:
file: ./VERSION_MAJOR
id: version_major
-
name: Read image version
uses: bfren/read-file@v2
with:
file: ./VERSION_MINOR
id: version_minor
-
name: Read image version
uses: bfren/read-file@v2
with:
file: ./VERSION
id: version
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
-
name: Build and export
id: docker_export
uses: docker/build-push-action@v6
with:
file: ./${{ matrix.debian }}/Dockerfile
build-args: |
BF_IMAGE=${{ env.REPOSITORY_NAME }}
BF_VERSION=${{ steps.version.outputs.contents }}
load: true
tags: ${{ env.TEST_TAG }}
-
name: Run tests
id: docker_test
run: |
docker run --entrypoint "/usr/bin/env" ${{ env.TEST_TAG }} -i nu -c "use bf test ; test"
-
name: Build and push
id: docker_build
uses: docker/build-push-action@v6
with:
context: .
file: ./${{ matrix.debian }}/Dockerfile
build-args: |
BF_IMAGE=${{ env.REPOSITORY_NAME }}
BF_VERSION=${{ steps.version.outputs.contents }}
push: ${{ startsWith(github.ref, 'refs/heads/') }}
platforms: linux/amd64,linux/arm64
tags: |
bfren/debian-s6:debian${{ matrix.debian }}-dev
bfren/debian-s6:debian${{ matrix.debian }}-${{ steps.version_major.outputs.contents }}-dev
bfren/debian-s6:debian${{ matrix.debian }}-${{ steps.version_minor.outputs.contents }}-dev
bfren/debian-s6:debian${{ matrix.debian }}-${{ steps.version.outputs.contents }}-dev
bfren/debian-s6:${{ steps.debian_name.outputs.contents }}-dev
bfren/debian-s6:${{ steps.debian_name.outputs.contents }}-${{ steps.version_major.outputs.contents }}-dev
bfren/debian-s6:${{ steps.debian_name.outputs.contents }}-${{ steps.version_minor.outputs.contents }}-dev
bfren/debian-s6:${{ steps.debian_name.outputs.contents }}-${{ steps.version.outputs.contents }}-dev
ghcr.io/bfren/debian-s6:debian${{ matrix.debian }}-dev
ghcr.io/bfren/debian-s6:debian${{ matrix.debian }}-${{ steps.version_major.outputs.contents }}-dev
ghcr.io/bfren/debian-s6:debian${{ matrix.debian }}-${{ steps.version_minor.outputs.contents }}-dev
ghcr.io/bfren/debian-s6:debian${{ matrix.debian }}-${{ steps.version.outputs.contents }}-dev
ghcr.io/bfren/debian-s6:${{ steps.debian_name.outputs.contents }}-dev
ghcr.io/bfren/debian-s6:${{ steps.debian_name.outputs.contents }}-${{ steps.version_major.outputs.contents }}-dev
ghcr.io/bfren/debian-s6:${{ steps.debian_name.outputs.contents }}-${{ steps.version_minor.outputs.contents }}-dev
ghcr.io/bfren/debian-s6:${{ steps.debian_name.outputs.contents }}-${{ steps.version.outputs.contents }}-dev
-
name: Build and push default tags
id: docker_build_default
if: matrix.debian == '12'
uses: docker/build-push-action@v6
with:
context: .
file: ./${{ matrix.debian }}/Dockerfile
build-args: |
BF_IMAGE=${{ env.REPOSITORY_NAME }}
BF_VERSION=${{ steps.version.outputs.contents }}
push: ${{ startsWith(github.ref, 'refs/heads/') }}
platforms: linux/amd64,linux/arm64
tags: |
bfren/debian-s6:dev
bfren/debian-s6:${{ steps.version_major.outputs.contents }}-dev
bfren/debian-s6:${{ steps.version_minor.outputs.contents }}-dev
bfren/debian-s6:${{ steps.version.outputs.contents }}-dev
ghcr.io/bfren/debian-s6:dev
ghcr.io/bfren/debian-s6:${{ steps.version_major.outputs.contents }}-dev
ghcr.io/bfren/debian-s6:${{ steps.version_minor.outputs.contents }}-dev
ghcr.io/bfren/debian-s6:${{ steps.version.outputs.contents }}-dev
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}