11name : CI/CD
22
3- on : [push, workflow_dispatch]
3+ on :
4+ push :
5+ workflow_dispatch :
6+ schedule :
7+ - cron : ' 15 2 * * *'
48
59jobs :
610 build :
711 runs-on : ubuntu-latest
812 strategy :
913 matrix :
10- version : [10, 12, 14, 16 ]
14+ version : [16, 18 ]
1115
1216 steps :
1317 - name : Checkout code
@@ -31,64 +35,16 @@ jobs:
3135 --output type=docker \
3236 --tag kooldev/node:${{ matrix.version }} \
3337 ${{ matrix.version }}
34- docker buildx build \
35- --cache-from type=local,src=/tmp/.buildx-cache/${{ matrix.version }}-qa \
36- --cache-to type=local,dest=/tmp/.buildx-cache/${{ matrix.version }}-qa \
37- --output type=docker \
38- --tag kooldev/node:${{ matrix.version }}-qa \
39- ${{ matrix.version }}-qa
40-
41- - name : Build (adonis)
42- run : |
43- docker buildx build \
44- --cache-from type=local,src=/tmp/.buildx-cache/${{ matrix.version }}-adonis \
45- --cache-to type=local,dest=/tmp/.buildx-cache/${{ matrix.version }}-adonis \
46- --output type=docker \
47- --tag kooldev/node:${{ matrix.version }}-adonis \
48- ${{ matrix.version }}-adonis
49- docker buildx build \
50- --cache-from type=local,src=/tmp/.buildx-cache/${{ matrix.version }}-adonis-qa \
51- --cache-to type=local,dest=/tmp/.buildx-cache/${{ matrix.version }}-adonis-qa \
52- --output type=docker \
53- --tag kooldev/node:${{ matrix.version }}-adonis-qa \
54- ${{ matrix.version }}-adonis-qa
55-
56- - name : Build (nest)
57- run : |
58- docker buildx build \
59- --cache-from type=local,src=/tmp/.buildx-cache/${{ matrix.version }}-nest \
60- --cache-to type=local,dest=/tmp/.buildx-cache/${{ matrix.version }}-nest \
61- --output type=docker \
62- --tag kooldev/node:${{ matrix.version }}-nest \
63- ${{ matrix.version }}-nest
64- docker buildx build \
65- --cache-from type=local,src=/tmp/.buildx-cache/${{ matrix.version }}-nest-qa \
66- --cache-to type=local,dest=/tmp/.buildx-cache/${{ matrix.version }}-nest-qa \
67- --output type=docker \
68- --tag kooldev/node:${{ matrix.version }}-nest-qa \
69- ${{ matrix.version }}-nest-qa
70-
71- - name : Build (latest)
72- if : github.ref == 'refs/heads/master' && github.repository == 'kool-dev/docker-node' && matrix.version == '16'
73- run : |
74- docker tag kooldev/node:${{ matrix.version }}-qa kooldev/node:qa
75- docker tag kooldev/node:${{ matrix.version }} kooldev/node:latest
76- docker tag kooldev/node:${{ matrix.version }}-adonis kooldev/node:adonis
77- docker tag kooldev/node:${{ matrix.version }}-adonis-qa kooldev/node:adonis-qa
78- docker tag kooldev/node:${{ matrix.version }}-nest kooldev/node:nest
79- docker tag kooldev/node:${{ matrix.version }}-nest-qa kooldev/node:nest-qa
8038
8139 - name : Tests
8240 run : |
83- for suffix in '' -adonis -nest; do
84- docker run kooldev/node:${{ matrix.version }}$suffix node -v;
85- docker run kooldev/node:${{ matrix.version }}$suffix npm -v;
86- docker run kooldev/node:${{ matrix.version }}$suffix yarn -v;
41+ docker run kooldev/node:${{ matrix.version }} node -v;
42+ docker run kooldev/node:${{ matrix.version }} npm -v;
43+ docker run kooldev/node:${{ matrix.version }} yarn -v;
8744
88- docker run -e ASUSER=1000 kooldev/node:${{ matrix.version }}$suffix node -v;
89- docker run -e ASUSER=1000 kooldev/node:${{ matrix.version }}$suffix npm -v;
90- docker run -e ASUSER=1000 kooldev/node:${{ matrix.version }}$suffix yarn -v;
91- done
45+ docker run -e ASUSER=1000 kooldev/node:${{ matrix.version }} node -v;
46+ docker run -e ASUSER=1000 kooldev/node:${{ matrix.version }} npm -v;
47+ docker run -e ASUSER=1000 kooldev/node:${{ matrix.version }} yarn -v;
9248
9349 - name : Login to DockerHub
9450 uses : docker/login-action@v2.0.0
@@ -101,18 +57,3 @@ jobs:
10157 if : github.ref == 'refs/heads/master' && github.repository == 'kool-dev/docker-node'
10258 run : |
10359 docker push kooldev/node:${{ matrix.version }}
104- docker push kooldev/node:${{ matrix.version }}-qa
105- docker push kooldev/node:${{ matrix.version }}-adonis
106- docker push kooldev/node:${{ matrix.version }}-adonis-qa
107- docker push kooldev/node:${{ matrix.version }}-nest
108- docker push kooldev/node:${{ matrix.version }}-nest-qa
109-
110- - name : Push to DockerHub (latest)
111- if : github.ref == 'refs/heads/master' && github.repository == 'kool-dev/docker-node' && matrix.version == '16'
112- run : |
113- docker push kooldev/node:qa
114- docker push kooldev/node:latest
115- docker push kooldev/node:adonis
116- docker push kooldev/node:adonis-qa
117- docker push kooldev/node:nest
118- docker push kooldev/node:nest-qa
0 commit comments