Compare commits

..

40 Commits

Author SHA1 Message Date
github-actions[bot] b20d6d6a48 Automatic compilation 2023-10-10 20:24:06 +00:00
Cina Saffary 0e6f0d3080 Merge pull request #192 from cloudflare/changeset-release/main
Version Packages
2023-10-10 15:23:32 -05:00
github-actions[bot] 326ba30882 Version Packages 2023-10-10 20:20:04 +00:00
Cina Saffary 032a7248fa Merge pull request #188 from simpleauthority/feat/add-bun-support
Add bun support
2023-10-10 15:19:09 -05:00
Jacob Andersen 080373bdb6 Add bun as a package manager option in action.yml 2023-10-10 13:17:05 -07:00
Cina Saffary 231d787db1 Update test/bun/package.json 2023-10-10 15:05:59 -05:00
Jacob Andersen d9a0a00f8b Add changeset 2023-10-10 12:41:00 -07:00
Jacob Andersen 779191a652 add bun support 2023-10-10 12:36:03 -07:00
Cina Saffary 556068fb59 Merge pull request #191 from cloudflare/changeset-release/main
Version Packages
2023-10-10 09:25:51 -05:00
github-actions[bot] caa59485d0 Version Packages 2023-10-10 14:16:00 +00:00
Cina Saffary c2494c1ca6 Merge pull request #190 from cloudflare/cina/180-fix-undefined-package-manager
Use npm as fallback if no `packageManager` specified
2023-10-10 09:14:13 -05:00
Cina Saffary 528687aaf4 Refactor to use npm as a fallback if no packageManager specified...
and no lockfile is present. Fixes #180
2023-10-09 17:20:09 -05:00
lrapoport-cf bd50d10af9 Merge pull request #185 from cloudflare/lrapoport/fix-issue-workflow
Fix issue workflow
2023-10-05 15:34:02 -04:00
lrapoport-cf 2513ffc6cc Fix workflow syntax for multiple conditions 2023-10-05 15:29:35 -04:00
lrapoport-cf 9df50d42e4 Merge pull request #182 from cloudflare/lrapoport/update-issues-workflow
Update issues workflow
2023-10-05 15:06:06 -04:00
lrapoport-cf 4611c14c05 Fix format 2023-10-05 15:01:41 -04:00
lrapoport-cf ac3f259fcf Add PR workflow 2023-10-02 11:29:17 -04:00
lrapoport-cf b2645622e9 Rename issue workflow and job 2023-10-02 11:29:03 -04:00
lrapoport-cf f4e6269765 Add transferred issues to workers-sdk GH project 2023-10-02 11:26:14 -04:00
Cina Saffary 72931e59b2 Merge pull request #174 from cloudflare/changeset-release/main
Version Packages
2023-10-02 10:23:58 -05:00
github-actions[bot] e0254d06bc Version Packages 2023-09-18 19:12:19 +00:00
Jacob M-G Evans 13d70757d2 Merge pull request #166 from nix6839/many-package-manager
Support many package managers
2023-09-18 14:11:51 -05:00
Han Yeong-woo aec73ae744 Add wangler files in fixtures 2023-09-19 03:52:00 +09:00
Han Yeong-woo f0cc3efccf Install yarn and pnpm on test 2023-09-19 03:51:27 +09:00
Han Yeong-woo 50b529e7b8 Fix pass arg issue 2023-09-19 03:50:54 +09:00
Han Yeong-woo 6771675815 Run format 2023-09-19 01:37:01 +09:00
Jacob M-G Evans 4ae0557f8d Update two-rocks-hope.md 2023-09-18 11:33:50 -05:00
Han Yeong-woo 7d7b98826e Add changeset 2023-09-19 01:30:36 +09:00
Han Yeong-woo d1073d57ba Run format 2023-09-19 01:30:35 +09:00
Han Yeong-woo c3b99e2c18 Ignore to pnpm-lock.yaml in formatting 2023-09-19 01:30:35 +09:00
Han Yeong-woo 2375787b23 Move test fixtures to parent directory 2023-09-19 01:30:35 +09:00
Han Yeong-woo 11f981cea4 Add tests for package managers support 2023-09-19 01:30:34 +09:00
Han Yeong-woo 868dbd9a40 Remove unused function 2023-09-19 01:30:34 +09:00
Han Yeong-woo a009342d77 Add packageManager setting 2023-09-19 01:30:34 +09:00
Han Yeong-woo f2e4cda4dd Detect package manager and uses its commands
Fix #156
2023-09-19 01:30:33 +09:00
Han Yeong-woo f4f2e854d7 Add isValidPackcageManager() util 2023-09-19 01:30:33 +09:00
Han Yeong-woo cbe5f5b523 Add detect package manager util function 2023-09-19 01:30:33 +09:00
Jacob M-G Evans fcf2d83f3d Merge pull request #172 from cloudflare/demosjarco/main
Node 20 update
2023-09-18 11:29:49 -05:00
DemosJarco f5d1ca36ae Added comment with link 2023-09-04 11:54:36 -07:00
DemosJarco 4d6d6abfb4 Update action.yml 2023-09-04 11:50:59 -07:00
2 changed files with 65 additions and 11 deletions
+6 -1
View File
@@ -4,7 +4,8 @@ branding:
color: "orange"
description: "Deploy your Cloudflare projects from GitHub using Wrangler"
runs:
using: "node16"
# Possible values: https://github.com/actions/runner/blob/main/src/Runner.Common/Util/NodeUtil.cs#L9
using: "node20"
main: "dist/index.mjs"
inputs:
apiToken:
@@ -40,3 +41,7 @@ inputs:
vars:
description: "A string of environment variable names, separated by newlines. These will be bound to your Worker using the values of matching environment variables declared in `env` of this workflow."
required: false
packageManager:
description: "The package manager you'd like to use to install and run wrangler. If not specified, a value will be inferred based on the presence of a lockfile. Valid values: [npm, pnpm, yarn, bun]"
required: false
default: npm
+59 -10
View File
@@ -2826,6 +2826,8 @@ __nccwpck_require__.d(__webpack_exports__, {
var core = __nccwpck_require__(186);
;// CONCATENATED MODULE: external "node:child_process"
const external_node_child_process_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:child_process");
;// CONCATENATED MODULE: external "node:util"
const external_node_util_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:util");
;// CONCATENATED MODULE: external "node:fs"
const external_node_fs_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:fs");
;// CONCATENATED MODULE: external "node:path"
@@ -2833,9 +2835,6 @@ const external_node_path_namespaceObject = __WEBPACK_EXTERNAL_createRequire(impo
;// CONCATENATED MODULE: ./src/utils.ts
function getNpxCmd() {
return process.env.RUNNER_OS === "Windows" ? "npx.cmd" : "npx";
}
/**
* A helper function to compare two semver versions. If the second arg is greater than the first arg, it returns true.
*/
@@ -2862,13 +2861,59 @@ function checkWorkingDirectory(workingDirectory = ".") {
}
}
;// CONCATENATED MODULE: external "node:util"
const external_node_util_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:util");
;// CONCATENATED MODULE: ./src/packageManagers.ts
const PACKAGE_MANAGERS = {
npm: {
install: "npm i",
exec: "npx",
},
yarn: {
install: "yarn add",
exec: "yarn",
},
pnpm: {
install: "pnpm add",
exec: "pnpm exec",
},
bun: {
install: "bun i",
exec: "bunx"
},
};
function detectPackageManager(workingDirectory = ".") {
if ((0,external_node_fs_namespaceObject.existsSync)(external_node_path_namespaceObject.join(workingDirectory, "package-lock.json"))) {
return "npm";
}
if ((0,external_node_fs_namespaceObject.existsSync)(external_node_path_namespaceObject.join(workingDirectory, "yarn.lock"))) {
return "yarn";
}
if ((0,external_node_fs_namespaceObject.existsSync)(external_node_path_namespaceObject.join(workingDirectory, "pnpm-lock.yaml"))) {
return "pnpm";
}
if ((0,external_node_fs_namespaceObject.existsSync)(external_node_path_namespaceObject.join(workingDirectory, "bun.lockb"))) {
return "bun";
}
return null;
}
function assertValidPackageManagerValue(name) {
if (name && !Object.keys(PACKAGE_MANAGERS).includes(name)) {
throw new TypeError(`invalid value provided for "packageManager": ${name}
Value must be one of: [${Object.keys(PACKAGE_MANAGERS).join(", ")}]`);
}
}
function getPackageManager(name, { workingDirectory = "." } = {}) {
assertValidPackageManagerValue(name);
return PACKAGE_MANAGERS[name || detectPackageManager(workingDirectory) || "npm"];
}
;// CONCATENATED MODULE: ./src/index.ts
const execAsync = external_node_util_namespaceObject.promisify(external_node_child_process_namespaceObject.exec);
const DEFAULT_WRANGLER_VERSION = "3.5.1";
/**
@@ -2884,7 +2929,11 @@ const config = {
VARS: (0,core.getMultilineInput)("vars"),
COMMANDS: (0,core.getMultilineInput)("command"),
QUIET_MODE: (0,core.getBooleanInput)("quiet"),
PACKAGE_MANAGER: (0,core.getInput)("packageManager"),
};
const packageManager = getPackageManager(config.PACKAGE_MANAGER, {
workingDirectory: config.workingDirectory,
});
function info(message, bypass) {
if (!config.QUIET_MODE || bypass) {
(0,core.info)(message);
@@ -2938,7 +2987,7 @@ function installWrangler() {
throw new Error(`Wrangler v1 is no longer supported by this action. Please use major version 2 or greater`);
}
startGroup("📥 Installing Wrangler");
const command = `npm install wrangler@${config["WRANGLER_VERSION"]}`;
const command = `${packageManager.install} wrangler@${config["WRANGLER_VERSION"]}`;
info(`Running command: ${command}`);
(0,external_node_child_process_namespaceObject.execSync)(command, { cwd: config["workingDirectory"], env: process.env });
info(`✅ Wrangler installed`, true);
@@ -2956,7 +3005,7 @@ async function execCommands(commands, cmdType) {
try {
const arrPromises = commands.map(async (command) => {
const cmd = command.startsWith("wrangler")
? `${getNpxCmd()} ${command}`
? `${packageManager.exec} ${command}`
: command;
info(`🚀 Executing command: ${cmd}`);
return await runProcess(cmd, {
@@ -2986,7 +3035,7 @@ function getSecret(secret) {
async function legacyUploadSecrets(secrets, environment, workingDirectory) {
const arrPromises = secrets
.map((secret) => {
const command = `echo ${getSecret(secret)} | ${getNpxCmd()} wrangler secret put ${secret}`;
const command = `echo ${getSecret(secret)} | ${packageManager.exec} wrangler secret put ${secret}`;
return environment ? command.concat(` --env ${environment}`) : command;
})
.map(async (command) => await execAsync(command, {
@@ -3013,7 +3062,7 @@ async function uploadSecrets() {
const environmentSuffix = !environment.length
? ""
: ` --env ${environment}`;
const secretCmd = `echo "${JSON.stringify(secretObj).replaceAll('"', '\\"')}" | ${getNpxCmd()} wrangler secret:bulk ${environmentSuffix}`;
const secretCmd = `echo "${JSON.stringify(secretObj).replaceAll('"', '\\"')}" | ${packageManager.exec} wrangler secret:bulk ${environmentSuffix}`;
(0,external_node_child_process_namespaceObject.execSync)(secretCmd, {
cwd: workingDirectory,
env: process.env,
@@ -3057,7 +3106,7 @@ async function wranglerCommands() {
if (environment.length > 0 && !command.includes(`--env`)) {
command = command.concat(` --env ${environment}`);
}
const cmd = `${getNpxCmd()} wrangler ${command} ${(command.startsWith("deploy") || command.startsWith("publish")) &&
const cmd = `${packageManager.exec} wrangler ${command} ${(command.startsWith("deploy") || command.startsWith("publish")) &&
!command.includes(`--var`)
? getVarArgs()
: ""}`.trim();