Adds a simple validation to scripts/test-codemod/server.js to handle the
case where the required <cwd-path> argument is missing. This prevents
unclear spawn() errors and provides a clear usage message instead.
Testing Instructions:
Run node scripts/test-codemod/server.js → should show a clear
missing-argument error.
Run with a valid path → script should behave normally.
Fixes#11165
### Description
Npm requires all published versions to have a dist tag. If we want to
backport a fix we don't want to release this under the `latest` or
`canary` tag. Instead we should release it under a `v${SPECIFIC_MINOR}`
tag if we want to cut another patch under an old version (or
`v${SPECIFIC_MAJOR}` for a minor release for a previous major)
This updates what we write to `version.txt` which is what gets used for
our [NPM
publish](https://github.com/vercel/turborepo/blob/main/cli/Makefile#L2).
### Testing Instructions
[`prepatch` release without an
override](3667901443 (step):5:12)
[`prepatch` release with an
override](3667903266 (step):5:12)
### Description
Updates the `turbo` version in examples whenever we make a release. This
ignores canaries so we don't ship those to unexpecting users.
I'm not sure that this is a sustainable solution as the community
continues to add more examples since the many `pnpm update` calls might
take awhile. However, I feel like this isn't a performance-critical path
for us, so going to go with it until someone tells me not to/thinks of a
more clever way. Note that whatever we go with needs to 1) bump the
version in package.json and 2) update the lockfile.
---------
Co-authored-by: Thomas Knickman <tom.knickman@vercel.com>
### Description
Clean up some old artifacts from Go and turbopack
### Testing Instructions
<!--
Give a quick description of steps to test your changes.
-->
### Description
Fix typos using https://crates.io/crates/typos-cli
I can add the `.typos.toml` if that is desirable.
While the changes extend beyond docs, the only visible impact of this
change will be the fixes in the docs.
### Testing Instructions
<!--
Give a quick description of steps to test your changes.
-->
Co-authored-by: Anthony Shew <anthony.shew@vercel.com>
This PR:
- Makes `examples_tests` an official workspace in
`turborepo-tests/examples`
- Extracts some helpers from `turborepo-tests/integration` into their
own workspace
- This will cause examples tests to run when those helpers change,
avoiding issues like #4626.
- Make `examples/` a workspace, and sets up a package.json dependency,
so that when examples change, examples_tests are also invalidated. (Note
that this doesn't affect when CI runs since that's configured in Github
Actions workflow configs)
---------
Co-authored-by: Nathan Hammond <nathan.hammond@vercel.com>
This removes the duplicated (and possibly mismatching) font data file in
favor of loading the copy bundled with next, using `load_next_json`
introduced in #4086. It also removes the associated workflow and
generation script.
The advantage of running examples tests through prysk are:
- isolated directory by default. don't need to setup a nested git repo
- can run all tests in a single command (`.cram_env/bin/prysk example_tests/1)
- matching the pattern with existing integration tests
- set the pattern to add more sophisticated real-world integration tests against examples
* Created two separate chains for executing commands: One that uses the parsed arguments from clap that are
serialized to json, the other that still uses Cobra. Now to test to ensure that both do the same thing
* Adjusted json serialization. Now debugging
* Hooked up new CLI to commands
* Fixing compile error
* fixing lint error
* Fixing more Go lint errors
* Fixing lint errors
* fixing up tests
* Only using turbo state with link, login, and logout commands
* Reverting changes
* Removing more changes
* Deleting code and fixing lints
* Removed unlink command
* Fixing bugs
* Reverting more changes
* fixed all tests
* Refactored away duplicates using CLIConfigProvider interface
* Lint fixes
* Minor order tweak
* Added error if command is not handled
* PR feedback
* Minor fixes. Adding --__test-run flag
* Added workaround for subcommand help
* Moved logic around to accomodate login/logout/link/unlink
* Added some documentation, removed some printf
* Adding more tests.
* Hooked up link/login/unlink to --__test-run flag. Also added prysk tests for it.
* Split up derive into multiple lines
* Added comment explaining clap v3 in Cargo.toml
* Ported daemon
* Cleaning up code. Removed imports
* Fix lints
* Fixing lints
* Ported prune to Rust CLI
* Going all the way. Porting run to Rust CLI and upgrading back to clap v4
* Always gotta be testing
* Always be testing. Always. Be. Testing.
* Added tests for each singular flag. Now for combination tests
* WIP: Hooking up Rust CLI to Go run logic
* Disable color
* Removed root inference from Go side
* Fixing compile errors
* Update cli/cmd/turbo/main.go
Co-authored-by: Chris Olszewski <chrisdolszewski@gmail.com>
* Patching up code for run
* PR changes
* Restored labeler
* Restore og.tsx
* Reverted run changes that somehow made it in here
* Fix run
* Update cli/internal/turbostate/turbostate.go
Co-authored-by: Chris Olszewski <chrisdolszewski@gmail.com>
* feat: polyfill `global` with `globalThis` (#2666)
This PR changes the ecmascript chunk logic to polyfill `global` with `globalThis`. A more complex and less performant solution (but with the benefit of us knowing the runtime environment) would be to add an effect for simple identifier expressions.
* delete IsYarn util (#2668)
* feat(docs): new authors & consistent filesnames (#2680)
* Added caveat to environment variables docs (#2703)
Co-authored-by: Thomas Knickman <tom.knickman@vercel.com>
* Fix publish workflow (#2681)
* change from yarn to pnpm (#2686)
Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
* Reverted workflow changes
* Fixing tests. Added run args to base
* Trying to fix tests
* Rewrote some logic around run args handling
* Fixing up tests by adding flags and fixing parsing bugs
* Hooked up RepoState to Go code
* Fixing e2e tests
* Fixing e2e
* Gotta build shim, not turbo in package.json
* Patched integration test
* Reverted Cargo.toml
* Cargo.lock too
* Fixing tests
* Moving turbo binary to shim
* Fixed tests and CI
* Check for TURBO_BINARY_PATH
* Ported shell completions to Rust
* Fixed logic issue with TURBO_BINARY_PATH
* Created .gitignore file with generated rust and header files
* Second try on cleaning up generated files
* More CI fixes
* Realized we still need some inference
* Removed files that are edited by run-examples.sh
* Switched order of `cargo fmt --check` and `cargo clippy` because `cargo clippy` generates files needed for `cargo fmt --check`.
* Cleaning up changes.
* Fix one thing break another
* Accept integration changes
* Deleting more unused code
* Test fixes
* No longer need this line now that src/ffi.rs is gitignored
* PR feedback
* Update cli/internal/run/run.go
Co-authored-by: Chris Olszewski <chrisdolszewski@gmail.com>
* Fixing typo
* Merged main
* PR feedback
* PR feedback
* Merge main
* Reverted workflow change
* add build turbo GH action to use across workflows
* use correct build target
* Error on invalid unicode instead of lossy conversion
* PR feedback
* Squashed commit of the following:
commit 096b8b8b35
Author: David Barrat <david@barrat.io>
Date: Mon Dec 5 15:29:41 2022 +0100
Docs: Add Authdog to Turbo Showcase page (#2921)
[Authdog](https://www.authdog.com/) is an Identity and Access Management as a Service platform, built upon Serverless technologies (AWS Lambda, Vercel, Fastly and Cloudflare Workers). I started looking for alternatives to Nx, some times ago and experimented with Turbo, decided to migrate some projects to this tool, awesome stuff!
commit e39d65eb5b
Author: Tobias Koppers <tobias.koppers@googlemail.com>
Date: Mon Dec 5 15:23:40 2022 +0100
enable id reusing (#2895)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
commit 6b99818abd
Author: Tobias Koppers <tobias.koppers@googlemail.com>
Date: Mon Dec 5 15:22:53 2022 +0100
Reduce wrapper tasks by eagerly resolving Vcs (#2933)
* resolve codegenerateable before calling it
* eagerly resolve some constructors to avoid creating many wrapper tasks
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
commit ce4c445cd2
Author: Tobias Koppers <tobias.koppers@googlemail.com>
Date: Mon Dec 5 15:22:32 2022 +0100
Share TaskInputs between task cache and task (#2923)
Move bound task function into TaskState to allow unloading
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
commit e1bf5e2cde
Author: Tobias Koppers <tobias.koppers@googlemail.com>
Date: Mon Dec 5 14:32:24 2022 +0100
make sure that removing collectibles will cleanup helper entries (#2872)
commit 532eff7632
Author: Tobias Koppers <tobias.koppers@googlemail.com>
Date: Mon Dec 5 13:27:22 2022 +0100
Reduce the number of Strings and wrapper tasks (#2834)
* use Cow to avoid creating Strings for trait function names
* trait calls avoid the resolve trait wrapper task when called on a resolved VC
* eagerly resolve some Vc that would otherwise create a lot of wrapper tasks
Depends on #2416
commit dc36fc4158
Author: Tobias Koppers <tobias.koppers@googlemail.com>
Date: Mon Dec 5 11:00:10 2022 +0100
reduce number of allocations (#2833)
VecDeque::new always allocates 7 elements
commit 4f247be94b
Author: Nathan Hammond <nathan.hammond@vercel.com>
Date: Mon Dec 5 15:39:15 2022 +0800
Upgrade to Next.js 13 (#2906)
This gets our site updated to Next.js 13 and Nextra 2. As a bonus, this should help prevent some of the issues we're seeing in Sentry.
commit 1e81806824
Author: Tobias Koppers <tobias.koppers@googlemail.com>
Date: Mon Dec 5 07:42:19 2022 +0100
shrink lists and sets that are stored in Tasks (#2873)
Reduces memory usage by 14%
commit cac79bbe35
Author: Ahab <ahabhgk@gmail.com>
Date: Sun Dec 4 13:23:26 2022 +0800
make lazy bundling for dynamic import more lazy (#2918)
For example:
```js
// index.js
setTimeout(() => {
import('./async.js').then(() => console.log('async.js loaded'))
}, 1000)
```
```js
// async.js
import './async.css';
console.log('async.js content')
```
For now the graph generated by above code will be like this:
<img width="1461" alt="Screen Shot 2022-12-03 at 21 22 24" src="https://user-images.githubusercontent.com/42857895/205442932-ebfd5126-ef3d-4205-b5b5-434126ad46f7.png">
The `ChunkGroup_async` will be a async chunk group of `ChunkGroup_index`, pushed at [turbopack-core/src/chunk/mod.rs#L462](b7bcfc312e/crates/turbopack-core/src/chunk/mod.rs (L462)), and it will have a reference between `ChunkGroup_index` and `ChunkGroup_async`, but `ChunkGroup_async` will also be a chunk group of `ChunkGroup_async-manifest-chunk` created at [turbopack-ecmascript/src/chunk/loader.rs#L165](b7bcfc312e/crates/turbopack-ecmascript/src/chunk/loader.rs (L165)), and will have a reference between `ChunkGroup_async-manifest-chunk` and `ChunkGroup_async`.
This leads to when the browser request '/_a8a837.js', turbopack will compile chunks in `ChunkGroup_index` ('/_a8a837.js'), `ChunkGroup_async-manifest-chunk` ('/src_async.js_manifest-chunk.js'), and also chunks in `ChunkGroup_async` ('/src_async.js', '/src_async.css'), because of the reference between `ChunkGroup_index` and `ChunkGroup_async`.
But the expected behavior is only compile chunks in `ChunkGroup_index` and `ChunkGroup_async-manifest-chunk`, so this PR deleted the reference between `ChunkGroup_index` and `ChunkGroup_async`, makes the graph be like this:
<img width="1461" alt="Screen Shot 2022-12-03 at 21 50 29" src="https://user-images.githubusercontent.com/42857895/205444165-7b266dce-9aa6-4829-b8dc-d2bf74642aff.png">
And makes chunks in `ChunkGroup_async` to be compiled only when the browser request '/src_async.js_manifest-chunk.js'.
commit fd09f2e7cb
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date: Sun Dec 4 03:26:37 2022 +0000
chore(deps): update dependency @types/node to v18.11.10 (#2928)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Thomas Knickman <tom.knickman@vercel.com>
commit 429e91eae5
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat Dec 3 22:21:26 2022 -0500
chore(deps): update dependency @babel/core to v7.20.5 (#2919)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
commit 6478d61585
Author: Tobias Koppers <tobias.koppers@googlemail.com>
Date: Sat Dec 3 22:11:10 2022 +0100
update chromiumoxide (#2916)
updating in hope that this fixes the random errors in test runs
commit b7bcfc312e
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat Dec 3 08:54:50 2022 +0000
chore(deps): update rust crate futures to 0.3.25 (#2915)
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | dev-dependencies | patch | `0.3.21` -> `0.3.25` |
| [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | dependencies | patch | `0.3.21` -> `0.3.25` |
| [futures](https://rust-lang.github.io/futures-rs) ([source](https://togithub.com/rust-lang/futures-rs)) | dependencies | patch | `0.3.24` -> `0.3.25` |
---
### ⚠ Dependency Lookup Warnings ⚠
Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.
---
### Release Notes
<details>
<summary>rust-lang/futures-rs</summary>
### [`v0.3.25`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#​0325---2022-10-20)
[Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.24...0.3.25)
- Fix soundness issue in `join!` and `try_join!` macros ([#​2649](https://togithub.com/rust-lang/futures-rs/issues/2649))
- Implement `Clone` for `sink::Drain` ([#​2650](https://togithub.com/rust-lang/futures-rs/issues/2650))
### [`v0.3.24`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#​0324---2022-08-29)
[Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.23...0.3.24)
- Fix incorrect termination of `select_with_strategy` streams ([#​2635](https://togithub.com/rust-lang/futures-rs/issues/2635))
### [`v0.3.23`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#​0323---2022-08-14)
[Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.22...0.3.23)
- Work around MSRV increase due to a cargo bug.
### [`v0.3.22`](https://togithub.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#​0322---2022-08-14)
[Compare Source](https://togithub.com/rust-lang/futures-rs/compare/0.3.21...0.3.22)
- Fix `Sync` impl of `BiLockGuard` ([#​2570](https://togithub.com/rust-lang/futures-rs/issues/2570))
- Fix partial iteration in `FuturesUnordered` ([#​2574](https://togithub.com/rust-lang/futures-rs/issues/2574))
- Fix false detection of inner panics in `Shared` ([#​2576](https://togithub.com/rust-lang/futures-rs/issues/2576))
- Add `Mutex::lock_owned` and `Mutex::try_lock_owned` ([#​2571](https://togithub.com/rust-lang/futures-rs/issues/2571))
- Add `io::copy_buf_abortable` ([#​2507](https://togithub.com/rust-lang/futures-rs/issues/2507))
- Remove `Unpin` bound from `TryStreamExt::into_async_read` ([#​2599](https://togithub.com/rust-lang/futures-rs/issues/2599))
- Make `run_until_stalled` handle self-waking futures ([#​2593](https://togithub.com/rust-lang/futures-rs/issues/2593))
- Use `FuturesOrdered` in `try_join_all` ([#​2556](https://togithub.com/rust-lang/futures-rs/issues/2556))
- Fix orderings in `LocalPool` waker ([#​2608](https://togithub.com/rust-lang/futures-rs/issues/2608))
- Fix `stream::Chunk` adapters size hints ([#​2611](https://togithub.com/rust-lang/futures-rs/issues/2611))
- Add `push_front` and `push_back` to `FuturesOrdered` ([#​2591](https://togithub.com/rust-lang/futures-rs/issues/2591))
- Deprecate `FuturesOrdered::push` in favor of `FuturesOrdered::push_back` ([#​2591](https://togithub.com/rust-lang/futures-rs/issues/2591))
- Performance improvements ([#​2583](https://togithub.com/rust-lang/futures-rs/issues/2583), [#​2626](https://togithub.com/rust-lang/futures-rs/issues/2626))
- Documentation improvements ([#​2579](https://togithub.com/rust-lang/futures-rs/issues/2579), [#​2604](https://togithub.com/rust-lang/futures-rs/issues/2604), [#​2613](https://togithub.com/rust-lang/futures-rs/issues/2613))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "after 10pm every weekday,before 5am every weekday,every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.
---
- [ ] If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/vercel/turbo).
commit 93222f2b22
Author: Anthony Shew <anthony.shew@vercel.com>
Date: Fri Dec 2 16:36:55 2022 -0800
feat(docs): document topology outside of a task (#2879)
* Docs for topology outside of a task
Documentation for behavior in #2855!
* Minor cleanup.
* Some copy updates and add image.
Co-authored-by: Thomas Knickman <tom.knickman@vercel.com>
commit f8aaf81cb7
Author: Will Binns-Smith <wbinnssmith@gmail.com>
Date: Fri Dec 2 16:32:35 2022 -0800
Link to Turbopack's architecture.md from CONTRIBUTING.md (#2913)
commit 0723170189
Author: Thomas Knickman <tom.knickman@vercel.com>
Date: Fri Dec 2 16:40:08 2022 -0500
feat(docs): add github (#2912)
commit c69298c4a3
Author: OJ Kwon <1210596+kwonoj@users.noreply.github.com>
Date: Fri Dec 2 11:58:55 2022 -0800
build(cargo): update swc_core, dependencies to resolve circular deps (#2869)
* build(cargo): bump up swc_core
* build(cargo): unpin indexmap
* build(cargo): update dependencies
* style(cargo): adjust format
commit 6965cb81ef
Author: Leah <github.leah@hrmny.sh>
Date: Fri Dec 2 19:42:05 2022 +0100
set correct cwd for server renderer (#2886)
commit 4a3cb941b4
Author: Leah <github.leah@hrmny.sh>
Date: Fri Dec 2 18:27:02 2022 +0100
fix dynamic paths (#2884)
commit eead906396
Author: Nathan Hammond <nathan.hammond@vercel.com>
Date: Fri Dec 2 16:09:08 2022 +0800
Fix the missing links. (#2707)
This PR does three things:
1. Prevents double redirects by setting the correct destination the first time.
2. Redirects URLs accidentally recreated in the new scope. 🤦♂️
3. Removes a catch-all to trigger any additional missing links to appear.
Changes are easy to review commit-by-commit.
commit b8c0c3c746
Author: Nathan Hammond <nathan.hammond@vercel.com>
Date: Fri Dec 2 14:37:03 2022 +0800
Update lint-staged behavior. (#2904)
Before #2859:
`eslint --quiet --fix`
After #2859:
`pnpm run lint --quiet --fix --`
=>
`eslint . --ext js,jsx,ts,tsx --quiet --fix --`
After this:
`eslint --ext js,jsx,ts,tsx --quiet --fix --`
Removes the sneaky `.`.
commit 336ea22098
Author: Nathan Hammond <nathan.hammond@vercel.com>
Date: Fri Dec 2 08:33:21 2022 +0800
Add additional detailed warning message if no tasks were run. (#2778)
This is a quality of life improvement output log so that you don't have to tease it out from the overall run summary and the situation is more-apparent.
commit 9359c46a36
Author: Leah <github.leah@hrmny.sh>
Date: Thu Dec 1 21:02:33 2022 +0100
simplify `next-binding` (#2899)
commit 22c1440283
Author: Justin Ridgewell <justin@ridgewell.name>
Date: Thu Dec 1 13:55:15 2022 -0500
Implement import.meta (#2816)
I chose to have the `import.meta.url` to have the relative project path on disk.
Webpack makes it the absolute system path, but that would make the JS output system dependent and I didn't like that. Vite doesn't bundle and uses the browser's behavior, which is the dev server path.
I'm splitting this from the in-progress PR to implement `new URL(…, import.meta.url)` support. That requires a bunch of changes to the analysis code and a new FS content source, so it's taking longer to ship.
Fixes WEB-137.
commit 75a7d1ea45
Author: Thomas Knickman <tom.knickman@vercel.com>
Date: Thu Dec 1 11:40:15 2022 -0500
fix(examples): cra pnpm fix (#2897)
* Merged main
* Reverting changes that snuck in
* Fixing tests
* Final fixes for tests
* bump timeout on jobs that need to build turborepo
* use prebuilt turbo for e2e tests
* change when turbo is built
* add turbo_tasks State (#2935)
add mark_stateful() method to make tasks with state
* @next/font [1/n] Add query structure to module requests (#2743)
* Add query structure to module requests
* Update crates/next-dev/src/lib.rs
Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
* add memory usage tracking (#2865)
* @next/font [2/n] Apply next/font swc transform (#2742)
* Check in next-font transform from Next.js repo
* Use next-font transform
* Run transform via custom rule
* Place next/font transform behind cargo feature
* Remove unused dependencies (#2934)
* Remove unused dependencies
* Add back lazy static as a dev dep
* Add back bench dependencies
* skip enabling corepack when building turborepo
* Disabled corepack on other node setup action
* explicitly disable corepack for examples
* nvm
* bump timemout for go unit
* I am once again trying to get CI to work
* force gnu compiler on windows
* fix shim build script
* fix lockfile
* use gcc on windows instead of clang
* fix shim
* first pass at splitting out shim to library crate
* change rust test workflow to not run turbo tests
* replace module tests with integration tests
* add readme and docs
* normalize paths in integration test
* Update crates/turborepo-lib/README.md
Co-authored-by: Nicholas Yang <nick@nicholasyang.com>
* Fix Cargo.lock
* fix clippy warnings
* extend timeout for running examples
* Set installed toolchain as default
Co-authored-by: Chris Olszewski <chrisdolszewski@gmail.com>
Co-authored-by: Florentin / 珞辰 <ecklf@icloud.com>
Co-authored-by: Chris Olszewski <chris.olszewski@vercel.com>
Co-authored-by: Thomas Knickman <tom.knickman@vercel.com>
Co-authored-by: Matt Pocock <mattpocockvoice@gmail.com>
Co-authored-by: Mehul Kar <mehul.kar@vercel.com>
Co-authored-by: Yota Hada <hadayota33@gmail.com>
Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>
Co-authored-by: Will Binns-Smith <wbinnssmith@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Script for releasing from CI.
* Make it live.
* Prep for CI release.
* Add golangci-lint command.
* Update version.txt parsing.
* Install goreleaser in CI.
Co-authored-by: Thomas Knickman <tom.knickman@vercel.com>
The 1.4.1 release demonstrated some gaps in the release process, this tests for error conditions before publishing, and removes the required lockfile dependency update.
Last automated release attempt resulted in a partial lockfile update:
c086159454
This inserts a delay mechanism to make sure we don't proceed before ready.
This is to enable using GoReleaser as a first step toward continuous delivery of build artifacts via CI. This is also the first step toward using CGO across a wider array of platforms.
This mostly applies a lot of line-ending fixes. A few other indentation issues were detected. All "material" changes can be seen in `git show --ignore-space-at-eol`.