summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/mtime_cache/action.js9
-rw-r--r--.github/mtime_cache/action.yml2
-rwxr-xr-x[-rw-r--r--].github/workflows/ci.generate.ts59
-rw-r--r--.github/workflows/ci.yml42
-rw-r--r--.github/workflows/post_publish.yml12
5 files changed, 81 insertions, 43 deletions
diff --git a/.github/mtime_cache/action.js b/.github/mtime_cache/action.js
index 37b957a74..4d4c961f7 100644
--- a/.github/mtime_cache/action.js
+++ b/.github/mtime_cache/action.js
@@ -3,15 +3,10 @@
// Node.js v12.x to run actions, so this is Node code and not Deno code.
const { spawn } = require("child_process");
+const fs = require("fs");
+const { utimes, mkdir, readFile, writeFile } = require("fs/promises");
const { dirname, resolve } = require("path");
const { StringDecoder } = require("string_decoder");
-const { promisify } = require("util");
-
-const fs = require("fs");
-const utimes = promisify(fs.utimes);
-const mkdir = promisify(fs.mkdir);
-const readFile = promisify(fs.readFile);
-const writeFile = promisify(fs.writeFile);
process.on("unhandledRejection", abort);
main().catch(abort);
diff --git a/.github/mtime_cache/action.yml b/.github/mtime_cache/action.yml
index 20e7b251f..f69085514 100644
--- a/.github/mtime_cache/action.yml
+++ b/.github/mtime_cache/action.yml
@@ -7,4 +7,4 @@ inputs:
required: true
runs:
main: action.js
- using: node12
+ using: node16
diff --git a/.github/workflows/ci.generate.ts b/.github/workflows/ci.generate.ts
index 9dd0b7c97..b5d186164 100644..100755
--- a/.github/workflows/ci.generate.ts
+++ b/.github/workflows/ci.generate.ts
@@ -7,7 +7,7 @@ const Runners = {
"${{ github.repository == 'denoland/deno' && 'ubuntu-20.04-xl' || 'ubuntu-20.04' }}",
macos: "macos-12",
windows:
- "${{ github.repository == 'denoland/deno' && 'windows-2019-xl' || 'windows-2019' }}",
+ "${{ github.repository == 'denoland/deno' && 'windows-2022-xl' || 'windows-2022' }}",
};
const sysRootStep = {
@@ -106,6 +106,24 @@ const installDenoStep = {
with: { "deno-version": "v1.x" },
};
+const authenticateWithGoogleCloud = {
+ name: "Authenticate with Google Cloud",
+ if: [
+ "matrix.profile == 'release' &&",
+ "matrix.job == 'test' &&",
+ "github.repository == 'denoland/deno' &&",
+ "(github.ref == 'refs/heads/main' ||",
+ "startsWith(github.ref, 'refs/tags/'))",
+ ].join("\n"),
+ uses: "google-github-actions/auth@v1",
+ with: {
+ "project_id": "denoland",
+ "credentials_json": "${{ secrets.GCP_SA_KEY }}",
+ "export_environment_variables": true,
+ "create_credentials_file": true,
+ },
+};
+
function cancelEarlyIfDraftPr(
nextSteps: Record<string, unknown>[],
): Record<string, unknown>[] {
@@ -306,6 +324,7 @@ const ci = {
},
...installPythonSteps,
installNodeStep,
+ authenticateWithGoogleCloud,
{
name: "Setup gcloud (unix)",
if: [
@@ -316,11 +335,9 @@ const ci = {
"(github.ref == 'refs/heads/main' ||",
"startsWith(github.ref, 'refs/tags/'))",
].join("\n"),
- uses: "google-github-actions/setup-gcloud@v0",
+ uses: "google-github-actions/setup-gcloud@v1",
with: {
project_id: "denoland",
- service_account_key: "${{ secrets.GCP_SA_KEY }}",
- export_default_credentials: true,
},
},
{
@@ -333,14 +350,12 @@ const ci = {
"(github.ref == 'refs/heads/main' ||",
"startsWith(github.ref, 'refs/tags/'))",
].join("\n"),
- uses: "google-github-actions/setup-gcloud@v0",
+ uses: "google-github-actions/setup-gcloud@v1",
env: {
CLOUDSDK_PYTHON: "${{env.pythonLocation}}\\python.exe",
},
with: {
project_id: "denoland",
- service_account_key: "${{ secrets.GCP_SA_KEY }}",
- export_default_credentials: true,
},
},
{
@@ -825,21 +840,23 @@ const ci = {
needs: ["build"],
if:
"github.repository == 'denoland/deno' && github.ref == 'refs/heads/main'",
- steps: [{
- name: "Setup gcloud",
- uses: "google-github-actions/setup-gcloud@v0",
- with: {
- project_id: "denoland",
- service_account_key: "${{ secrets.GCP_SA_KEY }}",
- export_default_credentials: true,
+ steps: [
+ authenticateWithGoogleCloud,
+ {
+ name: "Setup gcloud",
+ uses: "google-github-actions/setup-gcloud@v1",
+ with: {
+ project_id: "denoland",
+ },
+ },
+ {
+ name: "Upload canary version file to dl.deno.land",
+ run: [
+ "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"),
},
- }, {
- name: "Upload canary version file to dl.deno.land",
- run: [
- "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"),
- }],
+ ],
},
},
};
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 87b8438c2..5d9bf48e3 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -34,10 +34,10 @@ jobs:
job: test
profile: release
skip_pr: true
- - os: '${{ github.repository == ''denoland/deno'' && ''windows-2019-xl'' || ''windows-2019'' }}'
+ - os: '${{ github.repository == ''denoland/deno'' && ''windows-2022-xl'' || ''windows-2022'' }}'
job: test
profile: fastci
- - os: '${{ github.repository == ''denoland/deno'' && ''windows-2019-xl'' || ''windows-2019'' }}'
+ - os: '${{ github.repository == ''denoland/deno'' && ''windows-2022-xl'' || ''windows-2022'' }}'
job: test
profile: release
skip_pr: true
@@ -125,6 +125,19 @@ jobs:
with:
node-version: 18
if: '!(github.event_name == ''pull_request'' && matrix.skip_pr) && (steps.exit_early.outputs.EXIT_EARLY != ''true'')'
+ - name: Authenticate with Google Cloud
+ if: |-
+ !(github.event_name == 'pull_request' && matrix.skip_pr) && (steps.exit_early.outputs.EXIT_EARLY != 'true' && (matrix.profile == 'release' &&
+ matrix.job == 'test' &&
+ github.repository == 'denoland/deno' &&
+ (github.ref == 'refs/heads/main' ||
+ startsWith(github.ref, 'refs/tags/'))))
+ uses: google-github-actions/auth@v1
+ with:
+ project_id: denoland
+ credentials_json: '${{ secrets.GCP_SA_KEY }}'
+ export_environment_variables: true
+ create_credentials_file: true
- name: Setup gcloud (unix)
if: |-
!(github.event_name == 'pull_request' && matrix.skip_pr) && (steps.exit_early.outputs.EXIT_EARLY != 'true' && (runner.os != 'Windows' &&
@@ -133,11 +146,9 @@ jobs:
github.repository == 'denoland/deno' &&
(github.ref == 'refs/heads/main' ||
startsWith(github.ref, 'refs/tags/'))))
- uses: google-github-actions/setup-gcloud@v0
+ uses: google-github-actions/setup-gcloud@v1
with:
project_id: denoland
- service_account_key: '${{ secrets.GCP_SA_KEY }}'
- export_default_credentials: true
- name: Setup gcloud (windows)
if: |-
!(github.event_name == 'pull_request' && matrix.skip_pr) && (steps.exit_early.outputs.EXIT_EARLY != 'true' && (runner.os == 'Windows' &&
@@ -146,13 +157,11 @@ jobs:
github.repository == 'denoland/deno' &&
(github.ref == 'refs/heads/main' ||
startsWith(github.ref, 'refs/tags/'))))
- uses: google-github-actions/setup-gcloud@v0
+ uses: google-github-actions/setup-gcloud@v1
env:
CLOUDSDK_PYTHON: '${{env.pythonLocation}}\python.exe'
with:
project_id: denoland
- service_account_key: '${{ secrets.GCP_SA_KEY }}'
- export_default_credentials: true
- name: Configure canary build
if: |-
!(github.event_name == 'pull_request' && matrix.skip_pr) && (steps.exit_early.outputs.EXIT_EARLY != 'true' && (matrix.job == 'test' &&
@@ -543,12 +552,23 @@ jobs:
- build
if: github.repository == 'denoland/deno' && github.ref == 'refs/heads/main'
steps:
+ - name: Authenticate with Google Cloud
+ if: |-
+ matrix.profile == 'release' &&
+ matrix.job == 'test' &&
+ github.repository == 'denoland/deno' &&
+ (github.ref == 'refs/heads/main' ||
+ startsWith(github.ref, 'refs/tags/'))
+ uses: google-github-actions/auth@v1
+ with:
+ project_id: denoland
+ credentials_json: '${{ secrets.GCP_SA_KEY }}'
+ export_environment_variables: true
+ create_credentials_file: true
- name: Setup gcloud
- uses: google-github-actions/setup-gcloud@v0
+ uses: google-github-actions/setup-gcloud@v1
with:
project_id: denoland
- service_account_key: '${{ secrets.GCP_SA_KEY }}'
- export_default_credentials: true
- name: Upload canary version file to dl.deno.land
run: |-
echo ${{ github.sha }} > canary-latest.txt
diff --git a/.github/workflows/post_publish.yml b/.github/workflows/post_publish.yml
index d285e28bf..963e2bf8f 100644
--- a/.github/workflows/post_publish.yml
+++ b/.github/workflows/post_publish.yml
@@ -10,12 +10,18 @@ jobs:
runs-on: ubuntu-20.04
if: github.repository == 'denoland/deno'
steps:
+ - name: Authenticate with Google Cloud
+ uses: google-github-actions/auth@v1
+ with:
+ project_id: denoland
+ credentials_json: ${{ secrets.GCP_SA_KEY }}
+ export_environment_variables: true
+ create_credentials_file: true
+
- name: Setup gcloud
- uses: google-github-actions/setup-gcloud@v0
+ uses: google-github-actions/setup-gcloud@v1
with:
project_id: denoland
- service_account_key: ${{ secrets.GCP_SA_KEY }}
- export_default_credentials: true
- name: Upload version file to dl.deno.land
run: |