Skip to content

Commit

Permalink
Merge branch 'cloudflare:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
Laurry-gee authored Aug 7, 2023
2 parents 12a7f75 + c302bec commit f13ca7f
Show file tree
Hide file tree
Showing 415 changed files with 50,830 additions and 89,024 deletions.
5 changes: 5 additions & 0 deletions .changeset/breezy-pants-allow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"wrangler": minor
---

Added --local option for r2 commands to interact with local persisted r2 objects
8 changes: 8 additions & 0 deletions .changeset/curly-wombats-suffer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"wrangler": minor
---

secret:bulk exit 1 on failure
Previously `secret"bulk` would only log an error on failure of any of the upload requests.
Now when 'secret:bulk' has an upload request fail it throws an Error which sends an `process.exit(1)` at the root `.catch()` signal.
This will enable error handling in programmatic uses of `secret:bulk`.
5 changes: 5 additions & 0 deletions .changeset/eight-rice-raise.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"wrangler": minor
---

Added --local option for kv commands to interact with local persisted kv entries
7 changes: 7 additions & 0 deletions .changeset/few-rivers-tan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"pages-d1-shim": patch
"pages-workerjs-directory": patch
"wrangler": minor
---

Removing the D1 shim from the build process, in preparation for the Open Beta. D1 can now be used with --no-bundle enabled.
7 changes: 0 additions & 7 deletions .changeset/itchy-experts-change.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/seven-houses-end.md

This file was deleted.

31 changes: 26 additions & 5 deletions .github/ISSUE_TEMPLATE/bug-template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,22 @@ body:
- Queues
- R2
- Workers for Platforms
- Workers/Other
- Wrangler
- Constellation
- Workers Runtime
- Wrangler core
- Other
- type: input
attributes:
label: What version of `Wrangler` are you using?
placeholder: 0.0.0
label: What version(s) of the tool(s) are you using?
placeholder: 0.0.0 [Wrangler], 0.0.0 [C3], etc.
validations:
required: true
- type: input
attributes:
label: What version of Node are you using?
placeholder: 0.0.0
validations:
required: false
- type: input
attributes:
label: What operating system are you using?
Expand All @@ -42,6 +50,19 @@ body:
- type: textarea
attributes:
label: Describe the Bug
description: Steps to reproduce
description: Include steps to reproduce, describe the behaviour you observe, and describe the behaviour you _expect_ to observe.
validations:
required: true
- type: input
attributes:
label: Please provide a link to a minimal reproduction
description: Although not required, we often request a minimal reproduction to help troubleshoot the issue, so providing this up-front streamlines the process towards resolution.
placeholder: https://github.com/foobar-user/minimal-repro
validations:
required: false
- type: textarea
attributes:
label: Please provide any relevant error logs
description: Although not required, we often request logs to help troubleshoot the issue, so providing this up-front streamlines the process towards resolution. Please be careful to hide any sensitive information.
validations:
required: false
13 changes: 8 additions & 5 deletions .github/extract-pr-and-workflow-id.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
// This file is not used directly.
// Instead its contents are used in `.github/workflows/write-prerelease-comment.yml`
// Any changes here should be copied into the CI step there.
const allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
Expand All @@ -6,13 +9,13 @@ const allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({

for (const artifact of allArtifacts.data.artifacts) {
// Extract the PR number from the artifact name
const match = /^npm-package-wrangler-(\d+)$/.exec(artifact.name);
const match = /^npm-package-(.+)-(\d+)$/.exec(artifact.name);
if (match) {
fs.appendFileSync(
const packageName = match[1].toUpperCase();
require("fs").appendFileSync(
process.env.GITHUB_ENV,
`\nWORKFLOW_RUN_PR=${match[1]}` +
`\nWORKFLOW_RUN_ID=${context.payload.workflow_run.id}`
`\nWORKFLOW_RUN_PR_FOR_${packageName}=${match[2]}` +
`\nWORKFLOW_RUN_ID_FOR_${packageName}=${context.payload.workflow_run.id}`
);
break;
}
}
4 changes: 4 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,7 @@ Fixes # [insert GH or internal issue number(s)].
- Checked for inclusion of a relevant changeset
- Checked for creation of associated docs updates
- Manually pulled down the changes and spot-tested

**Note for PR author:**

We want to celebrate and highlight awesome PR review! If you think this PR received a particularly high-caliber review, please assign it the label `highlight pr review` so future reviewers can take inspiration and learn from it.
45 changes: 29 additions & 16 deletions .github/version-script.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,35 @@
const fs = require("fs");
const { exec } = require("child_process");
/**
* Update the package.json version property for the given package
*
* Usage:
*
* ```
* node ./.github/version-script.js <package-name>
* ```
*
* `<package-name>` defaults to `wrangler` if not provided.
*/

const { readFileSync, writeFileSync } = require("fs");
const { execSync } = require("child_process");

try {
const package = JSON.parse(
fs.readFileSync("./packages/wrangler/package.json")
);
exec("git rev-parse --short HEAD", (err, stdout) => {
if (err) {
console.log(err);
process.exit(1);
}
package.version = "0.0.0-" + stdout.trim();
fs.writeFileSync(
"./packages/wrangler/package.json",
JSON.stringify(package, null, "\t") + "\n"
);
});
const packageName = getArgs()[0] ?? "wrangler";
const packageJsonPath = `./packages/${packageName}/package.json`;
const package = JSON.parse(readFileSync(packageJsonPath));
const stdout = execSync("git rev-parse --short HEAD", { encoding: "utf8" });
package.version = "0.0.0-" + stdout.trim();
writeFileSync(packageJsonPath, JSON.stringify(package, null, "\t") + "\n");
} catch (error) {
console.error(error);
process.exit(1);
}

/**
* Get the command line args, stripping `node` and script filename, etc.
*/
function getArgs() {
const args = Array.from(process.argv);
while (args.shift() !== module.filename) {}
return args;
}
22 changes: 16 additions & 6 deletions .github/workflows/create-pullrequest-prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,28 @@ jobs:
run: npm pack
working-directory: packages/wrangler

- name: Pack @cloudflare/pages-shared
run: npm pack
working-directory: packages/pages-shared

- name: Upload packaged wrangler artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: npm-package-wrangler-${{ github.event.number }} # encode the PR number into the artifact name
path: packages/wrangler/wrangler-*.tgz

- name: Pack @cloudflare/pages-shared
run: npm pack
working-directory: packages/pages-shared

- name: Upload packaged @cloudflare/pages-shared artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: npm-package-cloudflare-pages-shared-${{ github.event.number }} # encode the PR number into the artifact name
path: packages/pages-shared/cloudflare-pages-shared-*.tgz

- name: Pack @cloudflare/create-cloudflare
run: npm pack
working-directory: packages/create-cloudflare

- name: Upload packaged @cloudflare/create-cloudflare artifact
uses: actions/upload-artifact@v3
with:
name: npm-package-create-cloudflare-${{ github.event.number }} # encode the PR number into the artifact name
path: packages/create-cloudflare/create-cloudflare-*.tgz
98 changes: 98 additions & 0 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: E2E tests

on:
push:
branches:
- main
- changeset-release/main
pull_request:
types: [synchronize, opened, reopened, labeled, unlabeled]
repository_dispatch:

jobs:
e2e-test:
if: github.repository_owner == 'cloudflare' && (github.event_name != 'pull_request' || (github.event_name == 'pull_request' && contains(github.event.*.labels.*.name, 'e2e' )) || (github.event_name == 'pull_request' && github.head_ref == 'changeset-release/main'))
name: "E2E Test"
strategy:
matrix:
os: [
# macos-11,
# macos-12,
macos-13,
windows-2019,
windows-2022,
# ubuntu-20.04,
ubuntu-22.04,
]
node: ["16", "18"]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repo
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Use Node.js ${{ matrix.node }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
cache: "npm"

- name: Install workerd Dependencies
if: ${{ runner.os == 'Linux' }}
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get install -y libc++1
# Attempt to cache all the node_modules directories based on the OS and package lock.
- name: Cache node_modules
id: npm-cache
uses: actions/cache@v3
env:
cache-name: cache-node-modules
with:
key: ${{ runner.os }}-${{ matrix.node }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
path: "**/node_modules"

# If the cache missed then install using `npm ci` to follow package lock exactly
- if: ${{ steps.npm-cache.outputs.cache-hit != 'true'}}
name: Install NPM Dependencies
run: npm ci

- name: Run builds
run: npm run build
env:
NODE_ENV: "production"

- name: Build Wrangler package for npm
run: cd packages/wrangler && npm pack
env:
NODE_ENV: "production"

- name: Move Wrangler package to tmp directory
shell: bash
id: "move-wrangler"
run: |
cp packages/wrangler/wrangler-*.tgz $HOME
echo "dir=$(ls $HOME/wrangler-*.tgz)" >> $GITHUB_OUTPUT;
env:
NODE_ENV: "production"

- name: Run tests
id: e2e-1
continue-on-error: true
run: npm run -w wrangler test:e2e
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.TEST_CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.TEST_CLOUDFLARE_ACCOUNT_ID }}
WRANGLER: npm install ${{ steps.move-wrangler.outputs.dir}} && npx --prefer-offline wrangler
NODE_OPTIONS: "--max_old_space_size=8192"

- name: Retry tests
if: steps.e2e-1.outcome == 'failure'
run: npm run -w wrangler test:e2e
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.TEST_CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.TEST_CLOUDFLARE_ACCOUNT_ID }}
WRANGLER: npm install ${{ steps.move-wrangler.outputs.dir}} && npx --prefer-offline wrangler
NODE_OPTIONS: "--max_old_space_size=8192"
50 changes: 50 additions & 0 deletions .github/workflows/prerelease-create-cloudflare.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Prerelease create-cloudflare

on:
repository_dispatch:
types: [pre-release-create-cloudflare]
push:
branches:
- main

jobs:
prerelease:
if: ${{ github.repository_owner == 'cloudflare' }}
name: Build & Publish a beta release of create-cloudflare to NPM
runs-on: ubuntu-latest

steps:
- name: Checkout Repo
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Use Node.js 16.13
uses: actions/setup-node@v3
with:
node-version: 16.13
cache: "npm" # cache ~/.npm in case 'npm ci' needs to run

- name: Install workerd Dependencies
if: ${{ runner.os == 'Linux' }}
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get install -y libc++1
- name: Install NPM Dependencies
run: npm ci

- name: Modify package.json version
run: node .github/version-script.js create-cloudflare

- name: Build packages
run: npm run build
env:
NODE_ENV: "production"

- name: Publish Beta to NPM
run: npm publish --tag beta
env:
NPM_PUBLISH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
working-directory: packages/create-cloudflare
2 changes: 1 addition & 1 deletion .github/workflows/quick-edit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
run: npm run build

- name: Build Quick Edit
run: cd packages/quick-edit && yarn setup && yarn build
run: cd packages/quick-edit && yarn setup && yarn custom:build

- name: Publish Quick Edit
run: npm -w packages/quick-edit run publish
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/test-c3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,6 @@ jobs:

- name: E2E Tests
run: npm run test:e2e -w create-cloudflare
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.TEST_CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.TEST_CLOUDFLARE_ACCOUNT_ID }}
Loading

0 comments on commit f13ca7f

Please sign in to comment.