Skip to content

dsv - v1.39.1

Compare
Choose a tag to compare
@sheldonhull sheldonhull released this 09 Dec 02:05
· 171 commits to main since this release

v1.39.1 - 2022-11-14

For users, the primary difference in this release is improved documentation in the project repo and a few new release artifacts.

For developers, this contains a lot of changes related to CI, development workflow improvements, and more. Yes, the wait is over! 🎉

🎉 Feature

  • Release process primarily handled by the great GoReleaser.
  • Release local and remote both invoked easily via: mage release:all task.
    This includes cross-platform builds, signing, publishing to s3, github release creation, SBOM creation, and more.
    • This lays the groundwork for additional installation methods, such as brew, that will be coming soon.
  • Release artifacts now include software bill of materials, signature files from cosign for asset verification.
  • Aqua-proj now points to this new repo location.
  • README.md now contains quick install snippets to get installation up and running more quickly. We love ♥️ our users.

📘 Documentation

  • Included documentation overview on basics of setup of signing for contributors needing it.
  • Release process documented.
  • 🎉 Charm's VHS project used for generation of landing images via script, aka a codified gif generation.

🤖 Development

  • 🎉 Update master branch default for the repository to main to align with better industry inclusive naming practices.
  • 🤖 Mage task automation contains additional helpers for cert installs for Apple, S3 Upload of artifacts.
  • Trunk automation fully integrated now. Just run trunk check --ci to locally reproduce the exact checks the PR linting checks will do.

🚀 Continual Integration & Release Changes

  • CI Matrix build no longer used, single agent building and releasing.
  • CI pipelines refactored and using nearly identical tools via aqua tool, so local development and CI development is nearly equal now.
  • CI testing pipelines for end to end and integration tests were split into their own independent pipelines.
  • CI process is now fully containerized in ephemeral hosted agents, no longer expecting any environment setup.

Build Specific Changes

🔨 Refactor

  • The project go module has been renamed from thy to GitHub canonical name format github.com/DelineaXPM/dsv-cli.
    This will also allow better support for installing the latest version of cli via go install github.com/DelineaXPM/dsv-cli@latest as an option for those so so inclined.

🧪 Testing

  • mage test:integration task added that checks all the required environment variables and flags to invoke much more easily locally and in CI.
  • Unit tests run via gotestsum.
  • Codecov integration for pull requests provide feedback on PR coverage changes on each new request.
  • Testing is now able to be run on unit tests immediately.
    Integration tests now check for required environment variable GO_INTEGRATION_TEST to opt-in to tests, rather than requiring filtering out.
  • Remove fmt blocking test. This is now covered by golangci-lint tooling run by trunk if required. Current tests flag vendor directory incorrectly.

⬆️ Dependencies

  • Various upgrades and improvements via renovate.

Known Issues & Workarounds

  • Allowing binary to run if prompted by OS (only required when running a new version the first time).
    When possible this will be further improved, but until then just accept the prompt after installation and it should function as normal.
    • Smart Screen on windows may still prompt at this time for allowing binary to run the first time.
    • Gatekeeper on MacOS might alert as well, despite being signed, due to other requirements with Apple.

Related

  • fixes AB#469252 AB#448642
  • related AB#452090

Contributors