diff --git a/auto.config.ts b/auto.config.ts index e5d7cf265..487628aa1 100644 --- a/auto.config.ts +++ b/auto.config.ts @@ -18,7 +18,7 @@ const allContributorsOptions: IAllContributorsPluginOptions = { }; const brewOptions: IBrewPluginOptions = { - executable: "./packages/cli/binary/auto-macos.gz", + executable: "./packages/cli/binary/auto-macos-x64.gz", name: "auto", }; @@ -36,9 +36,10 @@ export default function rc(): AutoRc { [ "upload-assets", [ - "./packages/cli/binary/auto-linux.gz", - "./packages/cli/binary/auto-macos.gz", - "./packages/cli/binary/auto-win.exe.gz", + "./packages/cli/binary/auto-linux-x64.gz", + "./packages/cli/binary/auto-macos-x64.gz", + "./packages/cli/binary/auto-macos-arm64.gz", + "./packages/cli/binary/auto-win-x64.exe.gz", ], ], ["npm", npmOptions], diff --git a/docs/pages/docs/configuration/non-npm.mdx b/docs/pages/docs/configuration/non-npm.mdx index f9ce98987..176e829fa 100644 --- a/docs/pages/docs/configuration/non-npm.mdx +++ b/docs/pages/docs/configuration/non-npm.mdx @@ -2,8 +2,7 @@ title: Non-npm Usage --- -If you're on some platform other than [npm](https://npmjs.com) it doesn't make sense to download `auto` through [npm](https://npmjs.com). -For these situations we package `auto` for all major operating systems (`linux`, `osx`, `windows`). +If you're on some platform other than [npm](https://npmjs.com) it doesn't make sense to download `auto` through [npm](https://npmjs.com). For these situations we package `auto` for all major operating systems (`linux`, `osx`, `windows`). ## Installation @@ -11,14 +10,12 @@ Simply download the appropriate version for your operating system and make it ex ```bash # Download a platform specific version of auto -curl -vkL -o - https://github.com/intuit/auto/releases/download/v11.1.6/auto-linux.gz | gunzip > ~/auto +curl -vkL -o - https://github.com/intuit/auto/releases/download/v11.1.6/auto-linux-x64.gz | gunzip > ~/auto # Make auto executable chmod a+x ~/auto ``` -This executable contains all of the official `auto` plugins so you do not have to download anything extra. -This version of `auto` uses the [git-tag](../generated/git-tag) plugins as the default instead of [npm](../generated/npm). -If you specify any plugins this will be overridden. +This executable contains all of the official `auto` plugins so you do not have to download anything extra. This version of `auto` uses the [git-tag](../generated/git-tag) plugins as the default instead of [npm](../generated/npm). If you specify any plugins this will be overridden. ### Installation via brew (OSX) @@ -78,8 +75,7 @@ Now that you have `auto` all set up you can use all of it's commands! ## Plugins -As stated above, all of the official plugins (the ones included in this repo/docs) are included in the binary version of `auto`. -However you might want to use an unofficial plugin or even write your own. +As stated above, all of the official plugins (the ones included in this repo/docs) are included in the binary version of `auto`. However you might want to use an unofficial plugin or even write your own. #### Local Plugins @@ -100,8 +96,7 @@ You could: #### Hosted Plugins -If you want to share your custom plugins between projects then you can host them on some SCM (ex: GitHub). -A plugin just needs to consist of an `index.js` that implements your plugin. (or it could be as complex as any NPM package) +If you want to share your custom plugins between projects then you can host them on some SCM (ex: GitHub). A plugin just needs to consist of an `index.js` that implements your plugin. (or it could be as complex as any NPM package) Edit your CI build to download these plugins when building. diff --git a/formula-template.rb b/formula-template.rb index 822f08f64..cfa2169c3 100644 --- a/formula-template.rb +++ b/formula-template.rb @@ -7,8 +7,8 @@ class Auto < Formula def install libexec.install Dir["*"] - bin.install libexec/"auto-macos" - mv bin/"auto-macos", bin/"auto" + bin.install libexec/"auto-macos-x64" + mv bin/"auto-macos-x64", bin/"auto" end test do diff --git a/package.json b/package.json index ef4cf70ad..d0786e02f 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "docs:build": "yarn docs:generate && ignite build", "create:plugin": "./scripts/create-plugin.js", "create:package": "./scripts/create-package.js", - "install-mac": "yarn lerna run bundle --scope=auto && gunzip -c ./packages/cli/binary/auto-macos.gz > /usr/local/bin/auto", + "install-mac": "yarn lerna run bundle --scope=auto && gunzip -c ./packages/cli/binary/auto-macos-x64.gz > /usr/local/bin/auto", "postinstall": "patch-package" }, "devDependencies": { diff --git a/packages/cli/__tests__/bundle.test.ts b/packages/cli/__tests__/bundle.test.ts index 71f1cea75..77003be38 100644 --- a/packages/cli/__tests__/bundle.test.ts +++ b/packages/cli/__tests__/bundle.test.ts @@ -6,7 +6,9 @@ test("bundle should function", () => { (process.platform === "win32" && "win.exe") || (process.platform === "darwin" && "macos") || "linux"; - const zip = path.join(__dirname, `../binary/auto-${type}`); + + const { arch } = process; + const zip = path.join(__dirname, `../binary/auto-${type}-${arch}`); const binary = path.join(__dirname, "../auto"); execSync(`gunzip -c ${zip} > ${binary}`); diff --git a/packages/cli/package.json b/packages/cli/package.json index ff2c3bcdd..4eba59247 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -11,7 +11,13 @@ "email": "lisowski54@gmail.com" }, "pkg": { - "scripts": "../../plugins/**/dist/**/*.js" + "scripts": "../../plugins/**/dist/**/*.js", + "targets": [ + "linux-x64", + "win-x64", + "macos-x64", + "macos-arm64" + ] }, "publishConfig": { "registry": "https://registry.npmjs.org/", diff --git a/plugins/brew/README.md b/plugins/brew/README.md index 070e3bc2f..6d0c2f207 100644 --- a/plugins/brew/README.md +++ b/plugins/brew/README.md @@ -1,7 +1,6 @@ # Brew Plugin -Automate the creation of Homebrew formulae. -This plugin can be use with any other package manager plugin. +Automate the creation of Homebrew formulae. This plugin can be use with any other package manager plugin. > NOTE: This plugin does not work in `lerna` monorepos that use `independent` versioning. @@ -38,8 +37,7 @@ To use this plugin you will need to add the required configuration and a templat } ``` -Create a template name `./formula-template.rb` at the root of the project (or use the `formula` option to customize the location)/ -The template file must be a valid homebrew ruby file. +Create a template name `./formula-template.rb` at the root of the project (or use the `formula` option to customize the location)/ The template file must be a valid homebrew ruby file. `auto` will replace the following tokens in the template file: @@ -52,14 +50,14 @@ Here is the template `auto` uses to publish it's own `brew` formula: class Auto < Formula desc "Generate releases based on semantic version labels on pull requests." homepage "https://intuit.github.io/auto/home.html" - url "https://github.com/intuit/auto/releases/download/$VERSION/auto-macos.gz" + url "https://github.com/intuit/auto/releases/download/$VERSION/auto-macos-x64.gz" version "$VERSION" sha256 "$SHA" def install libexec.install Dir["*"] - bin.install libexec/"auto-macos" - mv bin/"auto-macos", bin/"auto" + bin.install libexec/"auto-macos-x64" + mv bin/"auto-macos-x64", bin/"auto" end test do diff --git a/scripts/auto-update-curl-version.js b/scripts/auto-update-curl-version.js index 063033c63..d7d851e2d 100644 --- a/scripts/auto-update-curl-version.js +++ b/scripts/auto-update-curl-version.js @@ -28,7 +28,7 @@ module.exports = class TestPlugin { fs.writeFileSync( filename, nonNpmDocs.replace( - /(download\/v)(\d+\.\d+\.\d+)(\/auto-linux\.gz)/, + /(download\/v)(\d+\.\d+\.\d+)(\/auto-linux-x64\.gz)/, `$1${inc(lastRelease, bump)}$3` ) );