dsv - v1.39.1
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.
- This lays the groundwork for additional installation methods, such as
- 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 tomain
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
- Apply basic steps on goreleaser templates for creating reproducible builds.
🔨 Refactor
- The project go module has been renamed from
thy
to GitHub canonical name formatgithub.com/DelineaXPM/dsv-cli
.
This will also allow better support for installing the latest version of cli viago 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 variableGO_INTEGRATION_TEST
to opt-in to tests, rather than requiring filtering out. - Remove
fmt
blocking test. This is now covered bygolangci-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