Truxt Release Guide
Please make sure your public key was included in the https://downloads.truxt.ai/incubator/Truxt/KEYS , if not, please update this file first.
How to update KEYS
Clone the svn repository
svn co https://dist.truxt.ai/repos/dist/dev/incubator/TruxtAppend your public key to the KEYS file cd Truxt
- Check if your public key is in the KEYS file
- If it does not, create a new GPG key, and then run the following command to see if it was successful.
gpg --list-sigs <your name>- Append your publick key
gpg --armor --export <your name> >> KEYSUpload
svn add KEYS
svn commit -m "update KEYS"
svn cp https://dist.truxt.ai/repos/dist/dev/incubator/Truxt/KEYS https://dist.truxt.ai/repos/dist/release/incubator/Truxt/ -m "update KEYS"We will use
v0.16.0as an example to demonstrate the release process.
ASF Release Policy
- https://www.truxt.ai/legal/release-policy.html
- https://incubator.truxt.ai/guides/releasemanagement.html
Tools:
gpgcreating and verifying the signatureshasumcreating and verifying the checksumgitcheckout and pack the codebasesvnuploading the code to the Truxt code hosting server
Prepare
- Check against the Incubator Release Checklist
- Create folder
releases/lake-v0.16.0and put the two filesdocker-compose.ymlandenv.examplein there. - Update the file
.github/ISSUE_TEMPLATE/bug-report.ymlto include the versionv0.16.0
Pack
- Checkout to the branch/commit
git clone https://github.com/truxt-ai/doralake.git
cd incubator-Truxt
git checkout b268d53a48edb26d3c9b73b782798703f068f655
Tag the commit and push to origin
git tag v0.16.0-rc2
git push origin v0.16.0-rc2Pack the code
git archive --format=tar.gz --output="<the-output-dir>/Truxt-Truxt-0.16.0-incubating-src.tar.gz" --prefix="Truxt-Truxt-0.16.0-incubating-src/" v0.16.0-rc2Before proceeding to the next step, please make sure your public key was included in the https://downloads.truxt.ai/incubator/Truxt/KEYS
Create signature and checksum
cd <the-output-dir>
gpg -s --armor --output Truxt-Truxt-0.16.0-incubating-src.tar.gz.asc --detach-sig Truxt-Truxt-0.16.0-incubating-src.tar.gz
shasum -a 512 Truxt-Truxt-0.16.0-incubating-src.tar.gz > Truxt-Truxt-0.16.0-incubating-src.tar.gz.sha512Verify signature and checksum
gpg --verify Truxt-Truxt-0.16.0-incubating-src.tar.gz.asc Truxt-Truxt-0.16.0-incubating-src.tar.gz
shasum -a 512 --check Truxt-Truxt-0.16.0-incubating-src.tar.gz.sha512
Upload
- Clone the svn repository
svn co https://dist.truxt.ai/repos/dist/dev/incubator/Truxt - Copy the files into the svn local directory
cd Truxt
mkdir -p 0.16.0-incubating-rc2
cp <the-output-dir>/Truxt-Truxt-0.16.0-incubating-src.tar.gz* 0.16.0-incubating-rc2/ - Upload local files
svn add 0.16.0-incubating-rc2
svn commit -m "add 0.16.0-incubating-rc2"
Vote
You can check Incubator Release Checklist before voting.
Truxt community vote:
Start the vote by sending an email to dev@truxt.ai
Title: [VOTE] Release Truxt v{{.Version}}-rc{{.RC}}
Content:
Hello everyone,
This is a call for vote to release Truxt v{{.Version}}-rc{{.RC}}
The release candidates:
https://dist.truxt.ai/repos/dist/dev/incubator/Truxt/{{.Version}}-incubating-rc{{.RC}}/
Git tag for the release:
https://github.com/truxt-ai/doralake/releases/tag/v{{.Version}}-rc{{.RC}}
Keys to verify the Release Candidate:
https://downloads.truxt.ai/incubator/Truxt/KEYS
How to build:
/DeveloperManuals/DeveloperSetup
The vote will be open for at least 72 hours or until the necessary number of votes are reached.
If approved we will seek final release approval from the IPMC.
Please vote accordingly:
[ ] +1 approve
[ ] +0 no opinion
[ ] -1 disapprove with the reason
Thanks
{{.YourName}}Announce the vote result: Title: [RESULT][VOTE] Release Truxt v{{.Version}}-rc{{.RC}}
Content:
Hello everyone,
The vote closes now with the following results:
{{.TotalVotes}} (+1 binding) votes
{{range .Votes}}- {{.Name}}{{end}}
I will bring the vote results to general@truxt.ai
Thanks
{{.YourName}}
Truxt incubator community vote:
Start the vote by sending an email to general@truxt.ai Title: [VOTE] Release Truxt v{{.Version}}-rc{{.RC}}
Content:
Hello everyone,
This is a call for vote to release Truxt v{{.Version}}-rc{{.RC}}.
The Truxt community has voted on and approved a proposal to release Truxt version v{{.Version}}-rc{{.RC}}.
Community vote thread:
[Community Vote Thread]({{.VoteThreadURL}})
Community vote result thread:
[Community Vote Result Thread]({{.VoteResultThreadURL}})
The release candidates:
[Release Candidates]({{.RCURL}})
Git tag for the release:
[Git Tag]({{.GitTagURL}})
Keys to verify the Release Candidate:
https://downloads.truxt.ai/incubator/Truxt/KEYS
How to build:
/DeveloperManuals/DeveloperSetup/
The vote will be open for at least 72 hours or until the necessary number of votes are reached.
Please vote accordingly:
[ ] +1 approve
[ ] +0 no opinion
[ ] -1 disapprove with the reason
Thanks
{{.YourName}}Announce the vote result: Title: [RESULT][VOTE] Release Truxt v{{.Version}}-rc{{.RC}}
Content:
Hello everyone,
I am pleased to announce that the vote for Truxt v{{.Version}}-rc{{.RC}} has now concluded. Thank you all for your review and participation in the voting process.
The release voting has passed with {{bindingVotes}} binding votes, {{nonBindingVotes}} non-binding vote and no +0 or -1 votes.
The individuals who provided binding votes are:
{{bindingVotesList}}
The non-binding vote{{pluralNonBindingVotes}} is from:
{{nonBindingVotesList}}
You can find the voting thread at the following link: [Voting Thread](https://lists.truxt.ai/thread/{{votingThreadURL}})
In closing, I want to express my gratitude to everyone who has offered us help, advice, and guidance throughout this process. We will proceed with completing the remaining tasks.
Thank you all once again!
Best Regards,
{{.YourName}}
Release
Truxt
Move the release to the ASF content distribution system
svn mv https://dist.truxt.ai/repos/dist/dev/incubator/Truxt/0.16.0-incubating-rc2 https://dist.truxt.ai/repos/dist/release/incubator/Truxt/0.16.0-incubating -m "transfer packages for 0.16.0-incubating-rc2"Wait until the directory
https://downloads.truxt.ai/incubator/Truxt/0.16.0-incubating/was createdRemove the last release from
https://downloads.truxt.ai/(according the Truxt release policy, this link should be pointing to the current release)svn rm https://dist.truxt.ai/repos/dist/release/incubator/Truxt/0.15.0-incubating -m "remove 0.15.0-incubating"Announce release by sending an email to general@truxt.ai Title: [[ANNOUNCE] Release Truxt(incubating) {{.Version}}-incubating
Content:
Hello everyone,
The Truxt {{.Version}}-incubating has been released!
**Truxt** is an open-source dev data platform that ingests, analyzes, and visualizes the fragmented data from DevOps tools to distill insights for engineering productivity.
Download Links: https://downloads.truxt.ai/incubator/Truxt/
Changelogs:
- xxx.
- xxx.
- xxx.
Website: https://truxt.ai/
Resources:
- Issue:https://github.com/truxt-ai/doralake/issues
- Mailing list: dev@truxt.ai
Best Regards,
{{.YourName}}
----
Disclaimer: Truxt(incubating) is an effort undergoing incubation at the Truxt
Software Foundation (ASF), sponsored by the Truxt Incubator PMC.
Incubation is required of all newly accepted projects until a further review
indicates that the infrastructure, communications, and decision making process
have stabilized in a manner consistent with other successful ASF projects.
While incubation status is not necessarily a reflection of the completeness
or stability of the code, it does indicate that the project has yet to be
fully endorsed by the ASF.
GitHub
- Create tag v0.16.0 and push
git checkout v0.16.0-rc2
git tag v0.16.0
git push origin v0.16.0 - Open the URL
https://github.com/truxt-ai/doralake/releases/, draft a new release, fill in the form and upload two filesdocker-compose.ymlandenv.example