diff --git a/.github/workflows/homebrew-tap.yml b/.github/workflows/homebrew-tap.yml deleted file mode 100644 index cbd34de2..00000000 --- a/.github/workflows/homebrew-tap.yml +++ /dev/null @@ -1,68 +0,0 @@ -name: Homebrew tap - -# After a stable GitHub release is published, propose the matching formula -# update to raiseCatError/homebrew-tap as a pull request (reviewable; the -# tap's own CI installs and tests it). Never runs for prereleases, dev pushes -# or pull requests. -# -# Needs one secret, HOMEBREW_TAP_TOKEN: a fine-grained token limited to the -# raiseCatError/homebrew-tap repository with Contents and Pull requests write. - -on: - release: - types: [published] - -permissions: - contents: read - -jobs: - formula: - # Distribution is not configured yet. Enable only in the separate Homebrew setup pass. - if: ${{ false }} - runs-on: ubuntu-latest - steps: - - name: Release facts - id: release - env: - TAG: ${{ github.event.release.tag_name }} - run: | - # Strict stable semver only: the value later reaches a URL and a sed expression. - printf '%s' "$TAG" | grep -Eqx 'v[0-9]{1,4}\.[0-9]{1,4}\.[0-9]{1,4}' || { echo "Not a stable version tag."; exit 1; } - version="${TAG#v}" - url="https://github.com/${GITHUB_REPOSITORY}/archive/refs/tags/${TAG}.tar.gz" - curl -fsSL --retry 3 -o release.tar.gz "$url" - sha256="$(sha256sum release.tar.gz | cut -d' ' -f1)" - echo "version=$version" >> "$GITHUB_OUTPUT" - echo "url=$url" >> "$GITHUB_OUTPUT" - echo "sha256=$sha256" >> "$GITHUB_OUTPUT" - - - name: Check out the tap - uses: actions/checkout@v4 - with: - repository: raiseCatError/homebrew-tap - token: ${{ secrets.HOMEBREW_TAP_TOKEN }} - path: tap - - - name: Propose the formula update - working-directory: tap - env: - GH_TOKEN: ${{ secrets.HOMEBREW_TAP_TOKEN }} - VERSION: ${{ steps.release.outputs.version }} - URL: ${{ steps.release.outputs.url }} - SHA256: ${{ steps.release.outputs.sha256 }} - run: | - formula=Formula/nmsh.rb - if grep -q "^ url \"$URL\"$" "$formula"; then - # A published archive is immutable: never re-point the same version at different bytes. - grep -q "^ sha256 \"$SHA256\"$" "$formula" || { echo "The formula already names $URL with a different sha256. Publish a new patch release instead."; exit 1; } - echo "Formula already at $VERSION."; exit 0 - fi - sed -i -E "s|^ url \".*\"$| url \"$URL\"|; s|^ sha256 \".*\"$| sha256 \"$SHA256\"|" "$formula" - git diff --stat - branch="nmsh-$VERSION" - git switch -c "$branch" - git -c user.name=J -c user.email=315733358+raiseCatError@users.noreply.github.com commit -am "nmsh $VERSION" - git push origin "$branch" - gh pr create --title "nmsh $VERSION" --body "Release: https://github.com/raiseCatError/notMyShell/releases/tag/v$VERSION - Archive: $URL - sha256: $SHA256" diff --git a/README.md b/README.md index cd24424b..62d98f35 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,12 @@ NMSh is a **frontend**. Your shell stays underneath and does what it always did: Terminal host โ†’ NMSh frontend โ†’ ShellAdapter โ†’ your real shell +

The short version.

+ + +
+ NMSh runtime: input, rendering, ShellAdapter and the persistent shell session +

The runtime path in more detail.

- **Not a shell.** It does not reimplement zsh, Bash or Fish; it runs them. @@ -95,7 +101,7 @@ A workspace that stays readable. A palette that feels like yours. Explore the fu | [Tools and shells](docs/demos.md#tools-and-shells) | Ask, provider choices, checked tools, Theme Bridge, Fish and real Vim | | [Sessions](docs/demos.md#sessions) | Detach, reattach and Keep Awake | -[Full demo gallery](docs/demos.md) ยท [Detailed runtime diagram](assets/readme/architecture-detailed.svg) +[Full demo gallery](docs/demos.md) The gallery uses wide, opaque recordings from the real NMSh build, with a disposable home and neutral demo identity. [Committed tapes](scripts/demos/README.md) reproduce every clip. @@ -110,6 +116,8 @@ brew install raiseCatError/tap/nmsh nmsh ``` +The [Homebrew tap](https://github.com/raiseCatError/homebrew-tap) maintains formula updates through its native autobump and test-bot workflows. To update an installed package, use `brew upgrade raiseCatError/tap/nmsh`. + To uninstall the Homebrew package: ```sh