Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 31 additions & 1 deletion .github/release-notes-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,46 @@

## Install

New install on Linux, macOS, or WSL2:

```bash
curl -fsSL https://raven.evermind.ai/install.sh | bash
```

Then reload your shell and run:
New install on native Windows, in PowerShell:

```powershell
irm https://raven.evermind.ai/install.ps1 | iex
```

Windows PowerShell 5.1 (the version built into Windows) rejects that URL with
`Permanent Redirect`; use the direct one instead:

```powershell
irm https://raw.githubusercontent.com/EverMind-AI/Raven/refs/heads/main/install.ps1 | iex
```

Open a new terminal, then run:

```bash
raven onboard
```

## Upgrade

Already running Raven? Upgrade in place -- configuration, sessions, and memory
are preserved:

```bash
raven upgrade
```

`raven upgrade` installs the latest stable release, so it does not pick up a
pre-release; rerun the installer above for that. Editable source checkouts are
never overwritten -- pull the checkout and rerun its development setup. On
native Windows the upgrade finishes in an external helper; wait for its
completion message before running Raven again.

## Release Status

- Version: `__VERSION__`
Expand Down
14 changes: 12 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -132,10 +132,20 @@ jobs:
id=""
fi
if [ -z "$id" ]; then
gh release create "$tag" dist/*.whl dist/*.tar.gz dist/raven-constraints.txt \
--title "Raven $ver ($today)" --notes-file "$RUNNER_TEMP/notes.md" --draft $pre
draft_url=$(gh release create "$tag" dist/*.whl dist/*.tar.gz dist/raven-constraints.txt \
--title "Raven $ver ($today)" --notes-file "$RUNNER_TEMP/notes.md" --draft $pre)
# A draft lives at releases/tag/untagged-<hash> and keeps serving that
# stale page after publication, with no redirect to the real tag. Print
# both URLs so nobody shares the draft one by copying the address bar.
{
echo "### Release $tag"
echo ""
echo "- Draft (temporary, do not share): $draft_url"
echo "- Public URL once published: https://github.com/$repo/releases/tag/$tag"
} >> "$GITHUB_STEP_SUMMARY"
else
echo "Release $tag already published (id=$id); leaving as-is."
echo "Release $tag already published: https://github.com/$repo/releases/tag/$tag" >> "$GITHUB_STEP_SUMMARY"
fi

# (Optional, wire up when ready) publish to PyPI on tag:
Expand Down
16 changes: 15 additions & 1 deletion RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,14 @@ Highlights before publishing. Structure:
- <user-facing change>

## Install
curl -fsSL https://raven.evermind.ai/install.sh | bash
install.sh one-liner for Linux / macOS / WSL2
install.ps1 one-liner for native Windows (plus the PowerShell 5.1 direct URL)
then: raven onboard

## Upgrade
raven upgrade, with its limits (latest stable only, editable checkouts
untouched, external helper on native Windows)

## Release Status
- Version: `X.Y.Z`
- Tag: `vX.Y.Z`
Expand All @@ -59,6 +64,15 @@ Highlights before publishing. Structure:
4. Fill the summary + Highlights in the draft, then click **Publish**.
Publishing makes it `/releases/latest`, which `install.sh` serves.

While a release is a draft, GitHub addresses it as
`releases/tag/untagged-<hash>` -- even though the tag already exists, since CI
only runs after the tag is pushed. Publishing moves the release to
`releases/tag/vX.Y.Z` and leaves the old URL serving its own stale page with no
redirect. So never share the draft URL: a reader who opens it after publication
sees "untagged" and concludes the tag is missing or the release never went out.
Link `releases/tag/vX.Y.Z` or `/releases/latest` instead; the release job prints
both URLs in its step summary.

## Pre-releases

- `vX.Y.Z-rcN` tags build a draft marked **pre-release**. A pre-release is never
Expand Down
Loading