@@ -10,6 +10,7 @@ on: # yamllint disable-line rule:truthy
10
10
11
11
env :
12
12
IMAGE_NAME : algorithm-exercises-js
13
+ ARTIFACT_NAME : algorithm-exercises-js_${{ github.sha }}
13
14
14
15
jobs :
15
16
security :
@@ -60,60 +61,62 @@ jobs:
60
61
context : .
61
62
target : lint
62
63
outputs : |
63
- type=docker,dest=/tmp/${{ env.IMAGE_NAME }}_${{ github.sha }}_lint.tar
64
+ type=docker,dest=/tmp/${{ env.ARTIFACT_NAME }}_lint.tar
64
65
tags : |
65
66
${{ env.IMAGE_NAME }}:lint
66
67
- name : " LINT: Upload artifact"
67
68
uses : actions/upload-artifact@v4
68
69
with :
69
- name : ${{ env.IMAGE_NAME }}_${{ github.sha }}_lint
70
- path : /tmp/${{ env.IMAGE_NAME }}_${{ github.sha }}_lint.tar
70
+ name : ${{ env.ARTIFACT_NAME }}_lint
71
+ path : /tmp/${{ env.ARTIFACT_NAME }}_lint.tar
71
72
72
73
- name : " TEST: Build and push"
73
74
uses : docker/build-push-action@v6
74
75
with :
75
76
context : .
76
77
target : testing
77
78
outputs : |
78
- type=docker,dest=/tmp/${{ env.IMAGE_NAME }}_${{ github.sha }}_test.tar
79
+ type=docker,dest=/tmp/${{ env.ARTIFACT_NAME }}_test.tar
79
80
tags : |
80
81
${{ env.IMAGE_NAME }}:test
81
82
- name : " TEST: Upload artifact"
82
83
uses : actions/upload-artifact@v4
83
84
with :
84
- name : ${{ env.IMAGE_NAME }}_${{ github.sha }}_test
85
- path : /tmp/${{ env.IMAGE_NAME }}_${{ github.sha }}_test.tar
85
+ name : ${{ env.ARTIFACT_NAME }}_test
86
+ path : /tmp/${{ env.ARTIFACT_NAME }}_test.tar
86
87
87
88
- name : " PRODUCTION: Build and push"
88
89
uses : docker/build-push-action@v6
89
90
with :
90
91
context : .
91
92
target : production
92
93
outputs : |
93
- type=docker,dest=/tmp/${{ env.IMAGE_NAME }}_${{ github.sha }}_prod.tar
94
+ type=docker,dest=/tmp/${{ env.ARTIFACT_NAME }}_prod.tar
94
95
tags : |
95
96
${{ env.IMAGE_NAME }}:latest
96
97
${{ env.IMAGE_NAME }}:${{ github.sha }}
97
98
- name : " PRODUCTION: Upload artifact"
98
99
uses : actions/upload-artifact@v4
99
100
with :
100
- name : ${{ env.IMAGE_NAME }}_${{ github.sha }}_prod
101
- path : /tmp/${{ env.IMAGE_NAME }}_${{ github.sha }}_prod.tar
101
+ name : ${{ env.ARTIFACT_NAME }}_prod
102
+ path : /tmp/${{ env.ARTIFACT_NAME }}_prod.tar
102
103
103
104
lint :
104
105
name : " Run in docker: LINT"
105
106
runs-on : ubuntu-latest
106
107
needs : build
107
108
steps :
109
+ - uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
110
+
108
111
- name : Download artifact
109
112
uses : actions/download-artifact@v4
110
113
with :
111
- name : ${{ env.IMAGE_NAME }}_${{ github.sha }}_prod
114
+ name : ${{ env.ARTIFACT_NAME }}_prod
112
115
path : /tmp/
113
116
114
117
- name : Load image
115
118
run : |
116
- docker load --input /tmp/${{ env.IMAGE_NAME }}_${{ github.sha }}_prod.tar
119
+ docker load --input /tmp/${{ env.ARTIFACT_NAME }}_prod.tar
117
120
docker image ls -a
118
121
119
122
- name : Run lint
@@ -128,12 +131,12 @@ jobs:
128
131
- name : Download artifact
129
132
uses : actions/download-artifact@v4
130
133
with :
131
- name : ${{ env.IMAGE_NAME }}_${{ github.sha }}_prod
134
+ name : ${{ env.ARTIFACT_NAME }}_prod
132
135
path : /tmp/
133
136
134
137
- name : Load image
135
138
run : |
136
- docker load --input /tmp/${{ env.IMAGE_NAME }}_${{ github.sha }}_prod.tar
139
+ docker load --input /tmp/${{ env.ARTIFACT_NAME }}_prod.tar
137
140
docker image ls -a
138
141
139
142
- name : Run Trivy vulnerability scanner
0 commit comments