Skip to content

Commit ca94a22

Browse files
committed
Website: release process
1 parent b131408 commit ca94a22

File tree

11 files changed

+610
-1
lines changed

11 files changed

+610
-1
lines changed

.github/workflows/docker.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ jobs:
122122
- platform: linux/arm64
123123
runs-on: ubuntu-24.04-arm
124124
runs-on: ${{ matrix.arch.runs-on }}
125-
if: github.ref == 'refs/heads/develop' || startsWith(github.ref, 'refs/tags/')
125+
if: github.ref == 'refs/heads/develop' || startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/heads/release')
126126
steps:
127127
- name: Git checkout
128128
uses: actions/checkout@v5
@@ -144,6 +144,9 @@ jobs:
144144
echo "GIT_COMMIT=${GITHUB_SHA:0:8}" >> $GITHUB_ENV
145145
elif [[ "${{ github.ref }}" == refs/tags/* ]]; then
146146
echo "GIT_COMMIT=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
147+
elif [[ "${{ github.ref }}" == refs/heads/release/* ]]; then
148+
BRANCH_NAME="${GITHUB_REF#refs/heads/}"
149+
echo "GIT_COMMIT=${BRANCH_NAME}" >> $GITHUB_ENV
147150
fi
148151
149152
- name: Build and push mina-rust image

CLAUDE.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,22 @@ referencing Claude.
218218
6. **Verify commit message contains no emojis and follows 80-character wrap**
219219
7. Proceed with testing or committing changes
220220

221+
### Documentation Script Display
222+
223+
When adding scripts to documentation, always use Docusaurus CodeBlock imports:
224+
225+
```mdx
226+
import CodeBlock from "@theme/CodeBlock";
227+
import ScriptName from "!!raw-loader!./path/to/script.sh";
228+
229+
<CodeBlock language="bash" title="path/to/script.sh">
230+
{ScriptName}
231+
</CodeBlock>
232+
```
233+
234+
This ensures scripts are displayed accurately and stay in sync with the actual
235+
files.
236+
221237
### Documentation Script Testing
222238

223239
When modifying developer setup scripts in `website/docs/developers/scripts/`,

Makefile

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -496,3 +496,56 @@ docs-clean: ## Clean documentation build artifacts
496496
@echo "Cleaning documentation build artifacts..."
497497
@rm -rf website/build website/.docusaurus website/static/api-docs target/doc
498498
@echo "Documentation artifacts cleaned!"
499+
500+
# Release management targets
501+
502+
.PHONY: release-validate
503+
release-validate: ## Validate codebase is ready for release
504+
@website/docs/developers/scripts/release/validate.sh
505+
506+
.PHONY: release-update-version
507+
release-update-version: ## Update version in Cargo.toml files (requires VERSION=x.y.z)
508+
@if [ -z "$(VERSION)" ]; then \
509+
echo "Error: VERSION is required. Usage: make release-update-version VERSION=1.2.3"; \
510+
exit 1; \
511+
fi
512+
@website/docs/developers/scripts/release/update-version.sh "$(VERSION)"
513+
514+
.PHONY: release-docker-verify
515+
release-docker-verify: ## Verify multi-arch Docker images are available (requires TAG=version)
516+
@if [ -z "$(TAG)" ]; then \
517+
echo "Error: TAG is required. Usage: make release-docker-verify TAG=v1.2.3"; \
518+
exit 1; \
519+
fi
520+
@DOCKER_ORG=$(DOCKER_ORG) website/docs/developers/scripts/release/verify-docker.sh "$(TAG)"
521+
522+
.PHONY: release-create-tag
523+
release-create-tag: ## Create and push git tag (requires TAG=version MESSAGE="description")
524+
@if [ -z "$(TAG)" ] || [ -z "$(MESSAGE)" ]; then \
525+
echo "Error: TAG and MESSAGE are required."; \
526+
echo "Usage: make release-create-tag TAG=v1.2.3 MESSAGE='Release v1.2.3'"; \
527+
exit 1; \
528+
fi
529+
@website/docs/developers/scripts/release/create-tag.sh "$(TAG)" "$(MESSAGE)"
530+
531+
.PHONY: release-merge-back
532+
release-merge-back: ## Merge main back to develop after release
533+
@website/docs/developers/scripts/release/merge-back.sh
534+
535+
.PHONY: release-help
536+
release-help: ## Show release management commands
537+
@echo "Release Management Commands:"
538+
@echo ""
539+
@echo " release-validate - Validate codebase (tests, format, etc.)"
540+
@echo " release-update-version - Update Cargo.toml versions (requires VERSION=x.y.z)"
541+
@echo " release-create-tag - Create and push git tag (requires TAG=vx.y.z MESSAGE='...')"
542+
@echo " release-docker-verify - Verify Docker images (requires TAG=vx.y.z)"
543+
@echo " release-merge-back - Merge main back to develop"
544+
@echo ""
545+
@echo "Example workflow:"
546+
@echo " make release-validate"
547+
@echo " make release-update-version VERSION=1.2.3"
548+
@echo " # Create PR, get approval, merge to main"
549+
@echo " make release-create-tag TAG=v1.2.3 MESSAGE='Release v1.2.3'"
550+
@echo " make release-docker-verify TAG=v1.2.3"
551+
@echo " make release-merge-back"

0 commit comments

Comments
 (0)