2026-07-15 14:56:15 +00:00
# Vexta Release Workflow
## Repositories
2026-09-18 22:26:23 +00:00
### Private development repository
2026-07-15 14:56:15 +00:00
2026-09-18 22:26:23 +00:00
```text
~/Projects/vexta
```
2026-07-15 14:56:15 +00:00
2026-09-18 22:26:23 +00:00
This repository contains the full Vexta development history.
2026-07-15 14:56:15 +00:00
2026-09-18 22:26:23 +00:00
It is used for development, testing, consensus work, and release builds.
2026-07-15 14:56:15 +00:00
2026-09-18 22:26:23 +00:00
**Never push from this repository.**
2026-07-15 14:56:15 +00:00
2026-09-18 22:26:23 +00:00
### Public release repository
2026-07-15 14:56:15 +00:00
2026-09-18 22:26:23 +00:00
```text
~/vexta-public
```
2026-07-15 14:56:15 +00:00
2026-10-26 09:41:41 +00:00
This repository contains the public Vexta source tree used to prepare releases. VextaHub is the primary public repository, and GitLab is a secondary source-code mirror.
2026-09-18 22:26:23 +00:00
2026-10-26 09:41:41 +00:00
Official VextaHub repository:
2026-09-18 22:26:23 +00:00
2026-10-26 09:41:41 +00:00
https://vextaproject.org/vextahub/VextaProject/Vexta
GitLab mirror:
https://gitlab.com/vextaproject1/Vexta
2026-09-18 22:26:23 +00:00
## Release Process
1. Complete development and testing in `~/Projects/vexta` .
2. Verify that all intended tracked changes are committed.
3. Build and validate the release binaries.
4. Generate SHA-256 checksums for all release packages.
5. Synchronize the public repository from the finalized development commit.
Example:
```bash
cd ~/vexta-public
git fetch ~/Projects/vexta <release-branch>
git checkout -B <public-release-branch> FETCH_HEAD
```
6. Review the complete public diff and repository status.
7. Update public documentation, including:
- `README.md`
- `RELEASE_WORKFLOW.md`
- release notes
- other release documentation when required
8. Commit the final public release state.
9. Create the Vexta release tag.
Vexta release tags use the format:
```text
vexta-vX.Y.Z
```
Example:
```text
vexta-v0.3.0
```
10. Verify that the release tag points to the intended release commit.
2026-10-26 09:41:41 +00:00
11. Push verified public release commits and tags to VextaHub from the approved public release repository, then synchronize them to the GitLab mirror.
2026-09-18 22:26:23 +00:00
2026-10-26 09:41:41 +00:00
12. Create the official VextaHub Release.
2026-09-18 22:26:23 +00:00
13. Attach the official release archives and publish their SHA-256 checksums.
14. 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:
```text
~/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:
```text
~/vexta-public
```
Release tags should use the Vexta-specific naming convention:
```text
vexta-vX.Y.Z
```