2.7 KiB
Vexta Release Workflow
Repositories
Private development repository
~/Projects/vexta
This repository contains the full Vexta development history.
It is used for development, testing, consensus work, and release builds.
Never push from this repository.
Public release repository
~/vexta-public
This repository contains the public Vexta source tree and is the only repository allowed to push to GitHub.
Official GitHub repository:
https://github.com/VextaProject/Vexta
Release Process
-
Complete development and testing in
~/Projects/vexta. -
Verify that all intended tracked changes are committed.
-
Build and validate the release binaries.
-
Generate SHA-256 checksums for all release packages.
-
Synchronize the public repository from the finalized development commit.
Example:
cd ~/vexta-public
git fetch ~/Projects/vexta <release-branch>
git checkout -B <public-release-branch> FETCH_HEAD
-
Review the complete public diff and repository status.
-
Update public documentation, including:
README.mdRELEASE_WORKFLOW.md- release notes
- other release documentation when required
-
Commit the final public release state.
-
Create the Vexta release tag.
Vexta release tags use the format:
vexta-vX.Y.Z
Example:
vexta-v0.3.0
-
Verify that the release tag points to the intended release commit.
-
Push the release branch and Vexta release tag to GitHub only from
~/vexta-public. -
Create the GitHub Release.
-
Attach the official release archives and publish their SHA-256 checksums.
-
Verify the published source, tag, release files, and checksums before announcing the release.
Release Validation
Before publishing a release, verify:
- the public tracked tree contains only intended changes
- the release commit is correct
- the Vexta release tag points to the correct commit
- Linux binaries report the intended Vexta Core version
- Windows binaries report the intended Vexta Core version
- required consensus and proof-of-work tests pass
- release archives contain the expected binaries
- SHA-256 checksums match the final release archives
Important Rules
Never push directly from:
~/Projects/vexta
Never expose private development branches, private tags, temporary build files, or unrelated untracked files through the public repository.
Never use destructive cleanup commands such as git clean in the private development repository unless the contents have been reviewed explicitly.
Only push Vexta public releases from:
~/vexta-public
Release tags should use the Vexta-specific naming convention:
vexta-vX.Y.Z