File tree Expand file tree Collapse file tree 1 file changed +72
-0
lines changed Expand file tree Collapse file tree 1 file changed +72
-0
lines changed Original file line number Diff line number Diff line change 1+ name : Build & Deploy Godbolt Image
2+
3+ on :
4+ workflow_dispatch :
5+
6+ env :
7+ TAG : nano-2022
8+
9+ jobs :
10+ build-and-push :
11+ runs-on : windows-2022
12+
13+ env :
14+ entry : pwsh.exe
15+ cmd : -NoLogo -NoProfile -ExecutionPolicy Bypass
16+
17+ outputs :
18+ image_tagged : ${{ steps.vars.outputs.image_tagged }}
19+
20+ defaults :
21+ run :
22+ shell : pwsh
23+
24+ steps :
25+ - name : Checkout Repository
26+ uses : actions/checkout@v4
27+
28+ - name : Set image tag
29+ id : vars
30+ run : |
31+ $repo = $env:GITHUB_REPOSITORY.ToLower()
32+ $imageBase = "ghcr.io/$repo"
33+ $taggedImage = "${imageBase}:${env:TAG}"
34+ "image_tagged=$taggedImage" >> $env:GITHUB_OUTPUT
35+
36+ - name : Log in to GHCR
37+ run : echo "${{ secrets.CR_PAT }}" | docker login ghcr.io -u $env:GITHUB_ACTOR --password-stdin
38+
39+ - name : Build Image
40+ run : |
41+ docker build `
42+ --isolation process `
43+ --build-arg "TAG=$env:TAG" `
44+ -t "${{ steps.vars.outputs.image_tagged }}" .
45+
46+ - name : Push Image
47+ run : |
48+ docker push "${{ steps.vars.outputs.image_tagged }}"
49+
50+ run-nano-container :
51+ needs : build-and-push
52+ runs-on : windows-2022
53+
54+ defaults :
55+ run :
56+ shell : pwsh
57+
58+ steps :
59+ - name : Log in to GHCR
60+ run : echo "${{ secrets.CR_PAT }}" | docker login ghcr.io -u $env:GITHUB_ACTOR --password-stdin
61+
62+ - name : Pull Image
63+ run : docker pull "${{ needs.build-and-push.outputs.image_tagged }}"
64+
65+ - name : Run Container
66+ run : docker run --entrypoint ${{ env.entry }} --isolation process -di --name orphan "${{ needs.build-and-push.outputs.image_tagged }}" ${{ env.cmd }}
67+
68+ - name : Inspect Container
69+ run : docker inspect orphan
70+
71+ - name : Container – Inspect Godbolt Dist
72+ run : docker exec orphan ${{ env.entry }} ${{ env.cmd }} -Command node --import=tsx --no-warnings=ExperimentalWarning ./app.js --version --dist
You can’t perform that action at this time.
0 commit comments