4
4
push :
5
5
branches :
6
6
- " **"
7
- pull_request :
8
- branches : [main]
7
+
9
8
env :
10
9
DOCKER_ENV_FILE : " .github/workflows/docker.env"
10
+ REGISTRY : ghcr.io
11
+ IMAGE_NAME : ${{ github.repository }}
12
+
11
13
jobs :
12
14
build-test :
13
15
runs-on : ubuntu-latest
14
16
steps :
15
17
16
- # - name: Create k8s Kind Cluster
17
- # uses: helm/kind-action@v1
18
18
19
19
- name : setup@kindconfig
20
20
run : |
@@ -37,10 +37,10 @@ jobs:
37
37
sed "s/127.0.0.1/$hostip/g" $HOME/.kube/config > ${{ github.workspace }}/kubeconfig.yml
38
38
39
39
- name : Build the Docker image
40
- run : docker build --target builder --file Dockerfile --tag allaboutapps/backup-ns :${GITHUB_SHA:8} .
40
+ run : docker build --target builder --file Dockerfile --tag ${IMAGE_NAME}-builder :${GITHUB_SHA:8} .
41
41
42
42
- name : Create container
43
- run : docker run -d --env-file $DOCKER_ENV_FILE --name=builder -it allaboutapps/backup-ns :${GITHUB_SHA:8}
43
+ run : docker run -d --env-file $DOCKER_ENV_FILE --name=builder -it ${IMAGE_NAME}-builder :${GITHUB_SHA:8}
44
44
45
45
- name : Init Kind
46
46
run : docker exec builder bash /app/test/init_kind.sh
61
61
- name : Remove container
62
62
if : ${{ always() }}
63
63
run : docker rm builder
64
+
65
+ publish :
66
+ if : github.event_name == 'tag' || (github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/dev')) ||
67
+ needs :
68
+ - build-test
69
+ runs-on : ubuntu-latest
70
+ permissions :
71
+ contents : read
72
+ packages : write
73
+
74
+ steps :
75
+
76
+
77
+ - name : Log in to the Container registry
78
+ uses : docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
79
+ with :
80
+ registry : ${{ env.REGISTRY }}
81
+ username : ${{ github.actor }}
82
+ password : ${{ secrets.GITHUB_TOKEN }}
83
+
84
+ - name : Extract metadata (tags, labels) for Docker
85
+ id : meta
86
+ uses : docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
87
+ with :
88
+ images : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
89
+
90
+ - name : Build and push Docker image
91
+ uses : docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
92
+ with :
93
+ context : .
94
+ push : true
95
+ tags : |
96
+ ${{ steps.meta.outputs.tags }}
97
+ ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }}
98
+ labels : ${{ steps.meta.outputs.labels }}
0 commit comments