1
+ # .github/workflows/docker-build.yml
2
+
3
+ name : Docker Build Workflow
4
+
5
+ # Define the triggers for this workflow
6
+ on :
7
+ push :
8
+ branches :
9
+ - main
10
+ workflow_dispatch : # enables manual runs
11
+
12
+ jobs :
13
+ validate :
14
+ name : Validate Environment
15
+ runs-on : ubuntu-latest
16
+
17
+ services :
18
+ docker :
19
+ image : docker:20.10.16
20
+ options : --privileged
21
+
22
+ env :
23
+ DOCKER_TLS_CERTDIR : " /certs"
24
+ CI_REGISTRY_PATH : index.docker.io/ahoylabs
25
+ CI_REGISTRY_USER : ${{ secrets.CI_REGISTRY_USER }}
26
+ CI_REGISTRY_PASSWORD : ${{ secrets.CI_REGISTRY_PASSWORD }}
27
+
28
+ steps :
29
+ - name : Set up Docker
30
+ run : |
31
+ docker info
32
+ docker login -u "${{ secrets.CI_REGISTRY_USER }}" -p "${{ secrets.CI_REGISTRY_PASSWORD }}" ${{ env.CI_REGISTRY_PATH }}
33
+
34
+ - name : Print Environment Variables
35
+ run : |
36
+ echo "GitHub Actions env"
37
+ printenv
38
+ echo "CI_REGISTRY_USER ${{ secrets.CI_REGISTRY_USER }}"
39
+ echo "CI_REGISTRY_PASSWORD ${{ secrets.CI_REGISTRY_PASSWORD }}"
40
+ echo "CI_REGISTRY_PATH ${{ env.CI_REGISTRY_PATH }}"
41
+
42
+ build :
43
+ name : Build styletts2-api Image
44
+ runs-on : ubuntu-latest
45
+ needs : validate
46
+
47
+ services :
48
+ docker :
49
+ image : docker:20.10.16
50
+ options : --privileged
51
+
52
+ env :
53
+ IMAGE : styletts2-api
54
+ CI_REGISTRY_PATH : index.docker.io/ahoylabs
55
+ CI_REGISTRY_USER : ${{ secrets.CI_REGISTRY_USER }}
56
+ CI_REGISTRY_PASSWORD : ${{ secrets.CI_REGISTRY_PASSWORD }}
57
+
58
+ steps :
59
+ - name : Check out repository
60
+ uses : actions/checkout@v3
61
+
62
+ - name : Log in to Docker Hub
63
+ run : docker login -u "${{ secrets.CI_REGISTRY_USER }}" -p "${{ secrets.CI_REGISTRY_PASSWORD }}"
64
+
65
+ - name : Build styletts2-api Docker image
66
+ run : |
67
+ docker build --pull -t "${{ env.CI_REGISTRY_PATH }}/${{ env.IMAGE }}" .
68
+ docker push "${{ env.CI_REGISTRY_PATH }}/${{ env.IMAGE }}"
0 commit comments