@@ -7,6 +7,54 @@ permissions:
7
7
contents : read
8
8
9
9
jobs :
10
+ build-docker-image :
11
+ if : github.ref == 'refs/heads/main' || github.ref == 'refs/heads/preprod' || github.ref == 'refs/heads/prod' || github.ref == 'refs/heads/feat/v2'
12
+ runs-on : ubuntu-latest
13
+ needs : tests
14
+ env :
15
+ DOCKER_USERNAME : ${{ secrets.DOCKER_USERNAME }}
16
+ DOCKER_PASSWORD : ${{ secrets.DOCKER_PASSWORD }}
17
+ DOCKER_REGISTRY : docker.pkg.github.com
18
+ DOCKER_REPOSITORY : docker.io
19
+ DOCKER_IMAGE_PHP : hozanaci/openchurch-backend
20
+ DOCKER_IMAGE_PYTHON : hozanaci/openchurch-sync
21
+ steps :
22
+ - name : Checkout
23
+ uses : actions/checkout@v4
24
+ - name : Create version.json file
25
+ run : |
26
+ echo "{ \"version\": \"$(git rev-parse --short HEAD)\", \"build\": \"$(date)\", \"branch\": \"$(git rev-parse --abbrev-ref HEAD)\", \"tag\": \"$(git name-rev --tags --name-only $(git rev-parse HEAD))\" } " > public/version.json
27
+ - name : Build and push the image to DockerHub
28
+ run : |
29
+ echo "$DOCKER_PASSWORD" | docker login $DOCKER_REPOSITORY -u $DOCKER_USERNAME --password-stdin
30
+ docker build -t $DOCKER_IMAGE_PHP:$(git rev-parse --short HEAD) docker/php/.
31
+ docker push $DOCKER_IMAGE_PHP:$(git rev-parse --short HEAD)
32
+ docker build -t $DOCKER_IMAGE_PYTHON:$(git rev-parse --short HEAD) docker/python/.
33
+ docker push $DOCKER_IMAGE_PYTHON:$(git rev-parse --short HEAD)
34
+
35
+ publish-docker-image :
36
+ runs-on : ubuntu-latest
37
+ needs : build-docker-image
38
+ if : github.ref == 'refs/heads/preprod' || github.ref == 'refs/heads/prod' || github.ref == 'refs/heads/feat/v2'
39
+ env :
40
+ DOCKER_USERNAME : ${{ secrets.DOCKER_USERNAME }}
41
+ DOCKER_PASSWORD : ${{ secrets.DOCKER_PASSWORD }}
42
+ DOCKER_REGISTRY : docker.pkg.github.com
43
+ DOCKER_REPOSITORY : docker.io
44
+ DOCKER_IMAGE_PHP : hozanaci/openchurch-backend
45
+ DOCKER_IMAGE_PYTHON : hozanaci/openchurch-sync
46
+ steps :
47
+ - name : Checkout
48
+ uses : actions/checkout@v4
49
+ - name : Publish latest tag for docker image to DockerHub
50
+ run : |
51
+ echo "$DOCKER_PASSWORD" | docker login $DOCKER_REPOSITORY -u $DOCKER_USERNAME --password-stdin
52
+ docker pull $DOCKER_IMAGE_PHP:$(git rev-parse --short HEAD)
53
+ docker tag $DOCKER_IMAGE_PHP:$(git rev-parse --short HEAD) $DOCKER_IMAGE_PHP:$(git rev-parse --abbrev-ref HEAD)
54
+ docker push $DOCKER_IMAGE_PHP:$(git rev-parse --abbrev-ref HEAD)
55
+ docker tag $DOCKER_IMAGE_PYTHON:$(git rev-parse --short HEAD) $DOCKER_IMAGE_PYTHON:$(git rev-parse --abbrev-ref HEAD)
56
+ docker push $DOCKER_IMAGE_PYTHON:$(git rev-parse --abbrev-ref HEAD)
57
+
10
58
tests :
11
59
runs-on : ubuntu-latest
12
60
# Docs: https://docs.github.com/en/actions/using-containerized-services
0 commit comments