Skip to content

Bump VERSION to 0.0.2 #5

Bump VERSION to 0.0.2

Bump VERSION to 0.0.2 #5

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*'
permissions:
contents: write
jobs:
release:
name: Build and publish release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
# Fetch full history so VERSION and tags are available
fetch-depth: 0
- name: Read version from tag
id: version
run: |
TAG="${GITHUB_REF_NAME}"
# Strip leading 'v' for the tarball name (v1.0.0 → 1.0.0)
VERSION="${TAG#v}"
echo "tag=${TAG}" >> "$GITHUB_OUTPUT"
echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
echo "tarball=adjutant-${TAG}.tar.gz" >> "$GITHUB_OUTPUT"
- name: Verify VERSION file matches tag
run: |
FILE_VERSION="$(cat VERSION | tr -d '[:space:]')"
TAG_VERSION="${{ steps.version.outputs.version }}"
if [ "$FILE_VERSION" != "$TAG_VERSION" ]; then
echo "ERROR: VERSION file says '${FILE_VERSION}' but tag is '${TAG_VERSION}'"
echo "Update the VERSION file and re-tag."
exit 1
fi
echo "VERSION file matches tag: ${TAG_VERSION}"
- name: Build release tarball
run: |
TAG="${{ steps.version.outputs.tag }}"
TARBALL="${{ steps.version.outputs.tarball }}"
STAGING="adjutant-${TAG}"
# Create staging directory with framework files only
# Excludes: user-specific data, personal identity, journals,
# CI artifacts, evaluation docs, and development-only files
mkdir -p "${STAGING}"
rsync -a \
--exclude='.git/' \
--exclude='.github/' \
--exclude='adjutant.yaml' \
--exclude='identity/soul.md' \
--exclude='identity/heart.md' \
--exclude='identity/registry.md' \
--exclude='news_config.json' \
--exclude='journal/' \
--exclude='knowledge_bases/' \
--exclude='state/' \
--exclude='insights/' \
--exclude='photos/' \
--exclude='screenshots/' \
--exclude='.env' \
--exclude='PAUSED' \
--exclude='docs/evaluation/' \
--exclude='opencode.json' \
--exclude='tmp/' \
. "${STAGING}/"
tar -czf "${TARBALL}" "${STAGING}/"
echo "Built ${TARBALL} ($(du -sh "${TARBALL}" | cut -f1))"
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.version.outputs.tag }}
name: Adjutant ${{ steps.version.outputs.tag }}
body: |
## Install
```bash
curl -fsSL https://raw.githubusercontent.com/${{ github.repository }}/main/scripts/setup/install.sh | bash
```
## What's included
This release contains the Adjutant framework — scripts, wizard, templates, and tests.
It does **not** include any personal identity files, journals, or configuration.
The setup wizard will create those for you.
## Requirements
- bash 4+
- curl
- jq
- [opencode](https://opencode.ai)
See [README](https://github.com/${{ github.repository }}#readme) for full documentation.
files: |
${{ steps.version.outputs.tarball }}
scripts/setup/install.sh
draft: false
prerelease: ${{ contains(steps.version.outputs.tag, '-') }}