77 branches : [ "master" ]
88
99permissions :
10- contents : read
11- packages : write
10+ contents : read
11+ packages : write
12+ pages : write # to deploy to Pages
13+ id-token : write # to verify the deployment originates from an appropriate source
14+
15+ # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
16+ # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
17+ concurrency :
18+ group : " pages"
19+ cancel-in-progress : false
1220
1321jobs :
22+ build :
23+ name : Build CREATOR
24+ runs-on : ubuntu-latest
25+ steps :
26+ - name : Checkout
27+ uses : actions/checkout@v4
28+ - name : Build static files
29+ id : build
30+ run : ./mk_min.sh
31+ - name : Upload artifact
32+ uses : actions/upload-pages-artifact@v3
33+ with :
34+ path : ' .'
35+
1436 creator-checker :
1537 name : Execute CREATOR Checker
38+ needs : build
1639
1740 runs-on : ubuntu-latest
1841
@@ -21,17 +44,47 @@ jobs:
2144 node-version : [20.x]
2245
2346 steps :
24- - uses : actions/checkout@v4
25- - name : Use Node.js ${{ matrix.node-version }}
26- uses : actions/setup-node@v4
27- with :
28- node-version : ${{ matrix.node-version }}
29- cache : ' npm'
30- - name : Install dependencies
31- run : npm ci
32- - run : npm run build --if-present
33- - run : npm run test-creator-node
47+ - uses : pyTooling/download-artifact@v4
48+ with :
49+ name : github-pages
50+ tarball-name : artifact.tar
51+ path : .
52+ - name : Use Node.js ${{ matrix.node-version }}
53+ uses : actions/setup-node@v4
54+ with :
55+ node-version : ${{ matrix.node-version }}
56+ cache : ' npm'
57+ - name : Install dependencies
58+ run : npm ci
59+ - run : npm run build --if-present
60+ - run : npm run test-creator-node
61+
62+ deploy-pages-beta :
63+ name : Deploy CREATOR to GitHub Pages (development)
64+ runs-on : ubuntu-latest
65+ needs : build
66+ if : github.event_name != 'pull_request' && github.repository != 'creatorsim/creator'
67+ # Deploy to the github-pages environment
68+ environment :
69+ name : github-pages
70+ url : ${{ steps.deployment.outputs.page_url }}
71+ steps :
72+ - name : Deploy to GitHub Pages
73+ uses : actions/deploy-pages@v4
3474
75+ deploy-pages-stable :
76+ name : Deploy CREATOR to GitHub Pages (stable)
77+ runs-on : ubuntu-latest
78+ needs : creator-checker
79+ if : github.event_name != 'pull_request' && github.repository == 'creatorsim/creator'
80+ # Deploy to the github-pages environment
81+ environment :
82+ name : github-pages
83+ url : ${{ steps.deployment.outputs.page_url }}
84+ steps :
85+ - name : Deploy to GitHub Pages
86+ uses : actions/deploy-pages@v4
87+
3588 build-creator-cl :
3689 name : Build creator_cl Docker Image
3790 needs : creator-checker
@@ -50,7 +103,11 @@ jobs:
50103 large-packages : true
51104 docker-images : false
52105 swap-storage : true
53- - uses : actions/checkout@v4
106+ - uses : pyTooling/download-artifact@v4
107+ with :
108+ name : github-pages
109+ tarball-name : artifact.tar
110+ path : .
54111 - name : Set up QEMU
55112 uses : docker/setup-qemu-action@v3
56113 with :
@@ -60,12 +117,12 @@ jobs:
60117 - name : Login to GitHub Package Registry
61118 run : echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
62119 - name : Build & Push Docker image
63- run : cd ./dockers/command_line/ && docker buildx build -t ghcr.io/${{ github.repository_owner }}/creator_cl :${GITHUB_SHA} -t ghcr.io/${{ github.repository_owner }}/creator_cl -f ./Dockerfile --push --platform=linux/amd64,linux/arm64,linux/arm/v7 .
120+ run : cd ./dockers/command_line/ && docker buildx build -t ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_cl :${GITHUB_SHA} -t ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_cl -f ./Dockerfile --push --platform=linux/amd64,linux/arm64,linux/arm/v7 .
64121
65122 push-creator-cl :
66123 name : Push creator_cl Docker Image
67124 needs : build-creator-cl
68- if : github.event_name != 'pull_request' && github.repository_owner == 'creatorsim'
125+ if : github.event_name != 'pull_request' && github.repository == 'creatorsim/creator '
69126
70127 runs-on : ubuntu-latest
71128
77134 - name : Re-tag & Push Docker Image to Docker Hub
78135 run : |
79136 chmod +r $HOME/.docker/config.json
80- docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_cl :${GITHUB_SHA} docker.io/creatorsim/creator_cl:${GITHUB_SHA}
81- docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_cl docker.io/creatorsim/creator_cl
137+ docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_cl :${GITHUB_SHA} docker.io/creatorsim/creator_cl:${GITHUB_SHA}
138+ docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_cl docker.io/creatorsim/creator_cl
82139
83140 build-creator-gateway :
84141 name : Build creator_gateway Docker Image
@@ -98,7 +155,11 @@ jobs:
98155 large-packages : true
99156 docker-images : false
100157 swap-storage : true
101- - uses : actions/checkout@v4
158+ - uses : pyTooling/download-artifact@v4
159+ with :
160+ name : github-pages
161+ tarball-name : artifact.tar
162+ path : .
102163 - name : Set up QEMU
103164 uses : docker/setup-qemu-action@v3
104165 with :
@@ -108,12 +169,12 @@ jobs:
108169 - name : Login to GitHub Package Registry
109170 run : echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
110171 - name : Build & Push Docker image
111- run : cd ./dockers/gateway/ && docker buildx build -t ghcr.io/${{ github.repository_owner }}/creator_gateway :${GITHUB_SHA} -t ghcr.io/${{ github.repository_owner }}/creator_gateway -f ./Dockerfile --push --platform=linux/amd64,linux/arm64,linux/arm/v7 .
172+ run : cd ./dockers/gateway/ && docker buildx build -t ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_gateway :${GITHUB_SHA} -t ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_gateway -f ./Dockerfile --push --platform=linux/amd64,linux/arm64,linux/arm/v7 .
112173
113174 push-creator-gateway :
114175 name : Push creator_gateway Docker Image
115176 needs : build-creator-gateway
116- if : github.event_name != 'pull_request' && github.repository_owner == 'creatorsim'
177+ if : github.event_name != 'pull_request' && github.repository == 'creatorsim/creator '
117178
118179 runs-on : ubuntu-latest
119180
@@ -125,8 +186,8 @@ jobs:
125186 - name : Re-tag & Push Docker Image to Docker Hub
126187 run : |
127188 chmod +r $HOME/.docker/config.json
128- docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_gateway :${GITHUB_SHA} docker.io/creatorsim/creator_gateway:${GITHUB_SHA}
129- docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_gateway docker.io/creatorsim/creator_gateway
189+ docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_gateway :${GITHUB_SHA} docker.io/creatorsim/creator_gateway:${GITHUB_SHA}
190+ docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_gateway docker.io/creatorsim/creator_gateway
130191
131192 build-creator-hw-lab :
132193 name : Build creator_remote_lab Docker Image
@@ -146,7 +207,11 @@ jobs:
146207 large-packages : true
147208 docker-images : false
148209 swap-storage : true
149- - uses : actions/checkout@v4
210+ - uses : pyTooling/download-artifact@v4
211+ with :
212+ name : github-pages
213+ tarball-name : artifact.tar
214+ path : .
150215 - name : Set up QEMU
151216 uses : docker/setup-qemu-action@v3
152217 with :
@@ -156,12 +221,12 @@ jobs:
156221 - name : Login to GitHub Package Registry
157222 run : echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
158223 - name : Build & Push Docker image
159- run : cd ./dockers/remote_lab/ && docker buildx build -t ghcr.io/${{ github.repository_owner }}/creator_remote_lab :${GITHUB_SHA} -t ghcr.io/${{ github.repository_owner }}/creator_remote_lab -f ./Dockerfile --push --platform=linux/amd64,linux/arm64,linux/arm/v7 .
224+ run : cd ./dockers/remote_lab/ && docker buildx build -t ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_remote_lab :${GITHUB_SHA} -t ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_remote_lab -f ./Dockerfile --push --platform=linux/amd64,linux/arm64,linux/arm/v7 .
160225
161226 push-creator-hw-lab :
162227 name : Push creator_remote_lab Docker Image
163228 needs : build-creator-hw-lab
164- if : github.event_name != 'pull_request' && github.repository_owner == 'creatorsim'
229+ if : github.event_name != 'pull_request' && github.repository == 'creatorsim/creator '
165230
166231 runs-on : ubuntu-latest
167232
@@ -173,5 +238,5 @@ jobs:
173238 - name : Re-tag & Push Docker Image to Docker Hub
174239 run : |
175240 chmod +r $HOME/.docker/config.json
176- docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_remote_lab :${GITHUB_SHA} docker.io/creatorsim/creator_remote_lab:${GITHUB_SHA}
177- docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_remote_lab docker.io/creatorsim/creator_remote_lab
241+ docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_remote_lab :${GITHUB_SHA} docker.io/creatorsim/creator_remote_lab:${GITHUB_SHA}
242+ docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_remote_lab docker.io/creatorsim/creator_remote_lab
0 commit comments