Repository: denoland/deno
Pull request: ci: revert to the old way of uploading canary

This broke CI and I was unable to fix it so far.

Changed files:
filename: .github/workflows/ci.generate.ts
patch: @@ -177,7 +177,7 @@ const cloneRepoStep = [{
     // Use depth > 1, because sometimes we need to rebuild main and if
     // other commits have landed it will become impossible to rebuild if
     // the checkout is too shallow.
-    "fetch-depth": 15,
+    "fetch-depth": 5,
     submodules: false,
   },
 }];
@@ -930,7 +930,11 @@ const ci = {
             "github.ref == 'refs/heads/main'",
           ].join("\n"),
           run: [
-            "./tools/release/upload_canary.ts arch ${{ github.sha }}",
+            'gsutil -h "Cache-Control: public, max-age=3600" cp ./target/release/*.zip gs://dl.deno.land/canary/$(git rev-parse HEAD)/',
+            'gsutil -h "Cache-Control: public, max-age=3600" cp ./target/release/*.sha256sum gs://dl.deno.land/canary/$(git rev-parse HEAD)/',
+            'gsutil -h "Cache-Control: public, max-age=3600" cp ./target/release/*.symcache gs://dl.deno.land/canary/$(git rev-parse HEAD)/',
+            "echo ${{ github.sha }} > canary-latest.txt",
+            'gsutil -h "Cache-Control: no-cache" cp canary-latest.txt gs://dl.deno.land/canary-$(rustc -vV | sed -n "s|host: ||p")-latest.txt',
           ].join("\n"),
         },
         {
@@ -1244,7 +1248,8 @@ const ci = {
         {
           name: "Upload canary version file to dl.deno.land",
           run: [
-            "./tools/release/upload_canary.ts latest ${{ github.sha }}",
+            "echo ${{ github.sha }} > canary-latest.txt",
+            'gsutil -h "Cache-Control: no-cache" cp canary-latest.txt gs://dl.deno.land/canary-latest.txt',
           ].join("\n"),
         },
       ],

filename: .github/workflows/ci.yml
patch: @@ -34,7 +34,7 @@ jobs:
       - name: Clone repository
         uses: actions/checkout@v4
         with:
-          fetch-depth: 15
+          fetch-depth: 5
           submodules: false
         if: github.event.pull_request.draft == true
       - id: check
@@ -151,7 +151,7 @@ jobs:
       - name: Clone repository
         uses: actions/checkout@v4
         with:
-          fetch-depth: 15
+          fetch-depth: 5
           submodules: false
         if: '!(matrix.skip)'
       - name: Clone submodule ./tests/util/std
@@ -566,7 +566,12 @@ jobs:
           matrix.profile == 'release' &&
           github.repository == 'denoland/deno' &&
           github.ref == 'refs/heads/main')
-        run: './tools/release/upload_canary.ts arch ${{ github.sha }}'
+        run: |-
+          gsutil -h "Cache-Control: public, max-age=3600" cp ./target/release/*.zip gs://dl.deno.land/canary/$(git rev-parse HEAD)/
+          gsutil -h "Cache-Control: public, max-age=3600" cp ./target/release/*.sha256sum gs://dl.deno.land/canary/$(git rev-parse HEAD)/
+          gsutil -h "Cache-Control: public, max-age=3600" cp ./target/release/*.symcache gs://dl.deno.land/canary/$(git rev-parse HEAD)/
+          echo ${{ github.sha }} > canary-latest.txt
+          gsutil -h "Cache-Control: no-cache" cp canary-latest.txt gs://dl.deno.land/canary-$(rustc -vV | sed -n "s|host: ||p")-latest.txt
       - name: Autobahn testsuite
         if: |-
           !(matrix.skip) && ((matrix.os == 'linux' && matrix.arch != 'aarch64') &&
@@ -782,7 +787,7 @@ jobs:
       - name: Clone repository
         uses: actions/checkout@v4
         with:
-          fetch-depth: 15
+          fetch-depth: 5
           submodules: false
         if: '!(matrix.skip)'
       - uses: dsherret/rust-toolchain-file@v1
@@ -815,4 +820,6 @@ jobs:
         with:
           project_id: denoland
       - name: Upload canary version file to dl.deno.land
-        run: './tools/release/upload_canary.ts latest ${{ github.sha }}'
+        run: |-
+          echo ${{ github.sha }} > canary-latest.txt
+          gsutil -h "Cache-Control: no-cache" cp canary-latest.txt gs://dl.deno.land/canary-latest.txt

filename: tools/release/upload_canary.ts
patch: @@ -1,62 +0,0 @@
-#!/usr/bin/env -S deno run -A --lock=tools/deno.lock.json
-// Copyright 2018-2025 the Deno authors. MIT license.
-
-// deno-lint-ignore-file no-console
-
-import { $ } from "jsr:@david/dax@0.41.0";
-
-async function uploadCanaryForCurrentArch(currentGitSha: string) {
-  const currentGitRev = await $`git rev-parse HEAD`.text();
-  await $`gsutil -h "Cache-Control: public, max-age=3600" cp ./target/release/*.zip gs://dl.deno.land/canary/${currentGitRev}/`;
-  await $`gsutil -h "Cache-Control: public, max-age=3600" cp ./target/release/*.sha256sum gs://dl.deno.land/canary/${currentGitRev}/`;
-  await $`gsutil -h "Cache-Control: public, max-age=3600" cp ./target/release/*.symcache gs://dl.deno.land/canary/${currentGitRev}/`;
-  const llvmTriple = await $`rustc -vV | sed -n "s|host: ||p"`.text();
-  const latestCanaryHash =
-    await $`gsutil cat gs://dl.deno.land/canary-${llvmTriple}-latest.txt`
-      .text();
-  const commitExistsInHistory = await $`git cat-file -e ${latestCanaryHash}`;
-
-  if (commitExistsInHistory.code === 0) {
-    await Deno.writeTextFile("canary-latest.txt", currentGitSha);
-    await $`gsutil -h "Cache-Control: no-cache" cp canary-latest.txt gs://dl.deno.land/canary-${llvmTriple}-latest.txt`;
-  } else {
-    console.log("Skipping upload, newer canary version is already available");
-  }
-}
-
-async function uploadCanaryLatest(currentGitSha: string) {
-  const latestCanaryHash =
-    await $`gsutil cat gs://dl.deno.land/canary-latest.txt`
-      .text();
-  const commitExistsInHistory = await $`git cat-file -e ${latestCanaryHash}`;
-
-  if (commitExistsInHistory.code === 0) {
-    await Deno.writeTextFile("canary-latest.txt", currentGitSha);
-    await $`gsutil -h "Cache-Control: no-cache" cp canary-latest.txt gs://dl.deno.land/canary-latest.txt`;
-  } else {
-    console.log("Skipping upload, newer canary version is already available");
-  }
-}
-
-function printUsage() {
-  throw new Error(
-    "Usage: `./upload_canary.ts arch|latest <currentGitSha>",
-  );
-}
-
-async function main() {
-  const kind = Deno.args[0];
-  const currentGitSha = Deno.args[1];
-  if (!kind || !currentGitSha) {
-    printUsage();
-  }
-  if (kind === "arch") {
-    await uploadCanaryForCurrentArch(currentGitSha);
-  } else if (kind === "latest") {
-    await uploadCanaryLatest(currentGitSha);
-  } else {
-    printUsage();
-  }
-}
-
-await main();