@@ -13,17 +13,96 @@ permissions:
1313jobs :
1414  release :
1515    runs-on : ubuntu-latest 
16+     outputs :
17+       release_created : ${{ steps.release.outputs.release_created }} 
18+       tag_name : ${{ steps.release.outputs.tag_name }} 
1619    steps :
1720      - name : Checkout 
1821        uses : actions/checkout@v4 
1922        with :
2023          fetch-depth : 0 
2124
2225      - name : Release Please (manifest) 
26+         id : release 
2327        uses : googleapis/release-please-action@v4 
2428        with :
2529          token : ${{ secrets.GITHUB_TOKEN }} 
2630          config-file : release-please-config.json 
2731          manifest-file : .release-please-manifest.json 
2832
33+   publish-wasm :
34+     needs : release 
35+     if : ${{ needs.release.outputs.release_created == 'true' }} 
36+     runs-on : ubuntu-latest 
37+     permissions :
38+       contents : write 
39+     steps :
40+       - name : Checkout 
41+         uses : actions/checkout@v4 
42+ 
43+       - name : Setup Rust (stable) 
44+         uses : dtolnay/rust-toolchain@stable 
45+         with :
46+           targets : wasm32-unknown-unknown 
47+ 
48+       - name : Install protoc 
49+         run : sudo apt-get update && sudo apt-get install -y protobuf-compiler 
50+ 
51+       - name : Build WASM artifact 
52+         run : make wasm/confidence_resolver.wasm 
53+ 
54+       - name : Upload WASM to GitHub Release 
55+         uses : softprops/action-gh-release@v2 
56+         with :
57+           tag_name : ${{ needs.release.outputs.tag_name }} 
58+           files : | 
59+             wasm/confidence_resolver.wasm 
60+          env :
61+           GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} 
62+ 
63+   publish-cloudflare-deployer-image :
64+     needs : release 
65+     if : ${{ needs.release.outputs.release_created == 'true' }} 
66+     runs-on : ubuntu-latest 
67+     permissions :
68+       contents : read 
69+       packages : write 
70+     steps :
71+       - name : Checkout 
72+         uses : actions/checkout@v4 
73+ 
74+       - name : Set up QEMU 
75+         uses : docker/setup-qemu-action@v3 
76+ 
77+       - name : Set up Docker Buildx 
78+         uses : docker/setup-buildx-action@v3 
79+ 
80+       - name : Log in to GHCR 
81+         uses : docker/login-action@v3 
82+         with :
83+           registry : ghcr.io 
84+           username : ${{ github.actor }} 
85+           password : ${{ secrets.GITHUB_TOKEN }} 
86+ 
87+       - name : Docker meta 
88+         id : meta 
89+         uses : docker/metadata-action@v5 
90+         with :
91+           images : ghcr.io/${{ github.repository_owner }}/confidence-cloudflare-deployer 
92+           tags : | 
93+             type=raw,value=${{ needs.release.outputs.tag_name }} 
94+             type=raw,value=latest 
95+ 
96+        - name : Build and push deployer image 
97+         uses : docker/build-push-action@v6 
98+         with :
99+           context : . 
100+           file : ./confidence-cloudflare-resolver/deployer/Dockerfile 
101+           push : true 
102+           build-args : | 
103+             COMMIT_SHA=${{ github.sha }} 
104+            platforms : linux/amd64 
105+           tags : ${{ steps.meta.outputs.tags }} 
106+           labels : ${{ steps.meta.outputs.labels }} 
107+ 
29108
0 commit comments