|
55 | 55 | ccx_version: ${{ steps.pins.outputs.ccx_version }} |
56 | 56 | copilot_api_version: ${{ steps.pins.outputs.copilot_api_version }} |
57 | 57 | playwright_version: ${{ steps.pins.outputs.playwright_version }} |
| 58 | + cloakbrowser_wrapper_version: ${{ steps.pins.outputs.cloakbrowser_wrapper_version }} |
58 | 59 | rust_toolchains: ${{ steps.pins.outputs.rust_toolchains }} |
59 | 60 | rust_default_toolchain: ${{ steps.pins.outputs.rust_default_toolchain }} |
60 | 61 | rust_targets: ${{ steps.pins.outputs.rust_targets }} |
@@ -216,6 +217,63 @@ jobs: |
216 | 217 | RUST_DEFAULT_TOOLCHAIN=${{ needs.load-version-pins.outputs.rust_default_toolchain }} |
217 | 218 | RUST_TARGETS=${{ needs.load-version-pins.outputs.rust_targets }} |
218 | 219 |
|
| 220 | + # Optional, non-gating: the cloak layer bakes a ~200MB Chromium per arch |
| 221 | + # (arm64 under QEMU), holds no agent CLIs, and changes only when |
| 222 | + # Dockerfile.cloak / cloak-entrypoint.sh / CLOAKBROWSER_WRAPPER_VERSION move |
| 223 | + # -- not on a deva.sh version bump. The GitHub Release must not be hostage to |
| 224 | + # it, so `release` does not wait on this job and a failure here does not fail |
| 225 | + # the release. Re-run this job alone to publish a missing -cloak tag. |
| 226 | + build-and-push-cloak: |
| 227 | + name: Build and Push Cloak Profile Image |
| 228 | + runs-on: ubuntu-latest |
| 229 | + needs: [prepare, load-version-pins, build-and-push-rust] |
| 230 | + continue-on-error: true |
| 231 | + permissions: |
| 232 | + contents: read |
| 233 | + packages: write |
| 234 | + steps: |
| 235 | + - name: Checkout |
| 236 | + uses: actions/checkout@v4 |
| 237 | + with: |
| 238 | + ref: ${{ needs.prepare.outputs.release_tag }} |
| 239 | + |
| 240 | + - name: Set up QEMU |
| 241 | + uses: docker/setup-qemu-action@v3 |
| 242 | + |
| 243 | + - name: Set up Docker Buildx |
| 244 | + uses: docker/setup-buildx-action@v3 |
| 245 | + |
| 246 | + - name: Log in to Container Registry |
| 247 | + uses: docker/login-action@v3 |
| 248 | + with: |
| 249 | + registry: ${{ env.REGISTRY }} |
| 250 | + username: ${{ github.actor }} |
| 251 | + password: ${{ secrets.GITHUB_TOKEN }} |
| 252 | + |
| 253 | + - name: Extract metadata for cloak profile |
| 254 | + id: meta-cloak |
| 255 | + uses: docker/metadata-action@v5 |
| 256 | + with: |
| 257 | + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} |
| 258 | + tags: | |
| 259 | + type=raw,value=${{ needs.prepare.outputs.release_tag }}-cloak |
| 260 | + type=raw,value=cloak |
| 261 | +
|
| 262 | + - name: Build and push cloak image |
| 263 | + uses: docker/build-push-action@v5 |
| 264 | + with: |
| 265 | + context: . |
| 266 | + file: ./Dockerfile.cloak |
| 267 | + platforms: linux/amd64,linux/arm64 |
| 268 | + push: true |
| 269 | + tags: ${{ steps.meta-cloak.outputs.tags }} |
| 270 | + labels: ${{ steps.meta-cloak.outputs.labels }} |
| 271 | + cache-from: type=gha |
| 272 | + cache-to: type=gha,mode=max |
| 273 | + build-args: | |
| 274 | + BASE_IMAGE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.prepare.outputs.release_tag }}-rust |
| 275 | + CLOAKBROWSER_WRAPPER_VERSION=${{ needs.load-version-pins.outputs.cloakbrowser_wrapper_version }} |
| 276 | +
|
219 | 277 | release: |
220 | 278 | name: Create GitHub Release |
221 | 279 | runs-on: ubuntu-latest |
@@ -258,6 +316,10 @@ jobs: |
258 | 316 | echo "- \`ghcr.io/${{ env.IMAGE_NAME }}:${RELEASE_TAG}-rust\`" >> release_notes.md |
259 | 317 | echo "- \`ghcr.io/${{ env.IMAGE_NAME }}:rust\`" >> release_notes.md |
260 | 318 | echo "" >> release_notes.md |
| 319 | + echo "**Cloak Profile (CloakBrowser stealth Chromium, headed) - optional:**" >> release_notes.md |
| 320 | + echo "- \`ghcr.io/${{ env.IMAGE_NAME }}:cloak\`" >> release_notes.md |
| 321 | + echo "- \`ghcr.io/${{ env.IMAGE_NAME }}:${RELEASE_TAG}-cloak\` (published when the non-gating cloak build finishes; it may lag this release)" >> release_notes.md |
| 322 | + echo "" >> release_notes.md |
261 | 323 | echo "## Supported Architectures" >> release_notes.md |
262 | 324 | echo "" >> release_notes.md |
263 | 325 | echo "- linux/amd64" >> release_notes.md |
|
0 commit comments