From 78f3ce283e02e94d792107f9158d575afbc8e2dd Mon Sep 17 00:00:00 2001 From: drew Date: Wed, 18 Feb 2026 14:57:28 +0400 Subject: [PATCH 01/11] ci: remove HOME override --- .github/workflows/demo.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml index 3b25f96..d026239 100644 --- a/.github/workflows/demo.yml +++ b/.github/workflows/demo.yml @@ -55,9 +55,6 @@ jobs: with: path: "demo.tape" install-fonts: true - env: - # Point HOME to /github/workspace so the app finds .config/matcha/config.json - HOME: /github/workspace - name: Move GIF to Assets run: sudo mv demo.gif public/assets/demo.gif From 03d41bc7630a3c1d41cea2fd42c7be4524b2d20a Mon Sep 17 00:00:00 2001 From: drew Date: Wed, 18 Feb 2026 15:05:31 +0400 Subject: [PATCH 02/11] fix: remove install-fonts --- .github/workflows/demo.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml index d026239..3f780f8 100644 --- a/.github/workflows/demo.yml +++ b/.github/workflows/demo.yml @@ -54,7 +54,6 @@ jobs: uses: charmbracelet/vhs-action@v2 with: path: "demo.tape" - install-fonts: true - name: Move GIF to Assets run: sudo mv demo.gif public/assets/demo.gif From 7faea88af3422d028a58c420efd2ff1e1e397e6b Mon Sep 17 00:00:00 2001 From: drew Date: Wed, 18 Feb 2026 15:20:43 +0400 Subject: [PATCH 03/11] fix: manual install of vhs cause: charmbracelet/vhs-action#459 --- .github/workflows/demo.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml index 3f780f8..5d0958d 100644 --- a/.github/workflows/demo.yml +++ b/.github/workflows/demo.yml @@ -51,9 +51,11 @@ jobs: run: sed -i 's/go run ./.\/matcha/' demo.tape - name: Run VHS - uses: charmbracelet/vhs-action@v2 - with: - path: "demo.tape" + run: | + sudo apt update + sudo apt install -y ffmpeg ttyd + go install github.com/charmbracelet/vhs@latest + vhs demo.tape - name: Move GIF to Assets run: sudo mv demo.gif public/assets/demo.gif From 472f600974ebb869defe668ecf675ea87047d93b Mon Sep 17 00:00:00 2001 From: drew Date: Wed, 18 Feb 2026 15:26:10 +0400 Subject: [PATCH 04/11] fix: not persist credentials --- .github/workflows/demo.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml index 5d0958d..755f329 100644 --- a/.github/workflows/demo.yml +++ b/.github/workflows/demo.yml @@ -16,6 +16,8 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v6 + with: + persist-credentials: false - name: Set up Go uses: actions/setup-go@v6 From 7e3f6c23c3ace732953b7483da0ec4070441efd3 Mon Sep 17 00:00:00 2001 From: drew Date: Wed, 18 Feb 2026 15:27:10 +0400 Subject: [PATCH 05/11] chore: update tape --- demo.tape | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/demo.tape b/demo.tape index bf62fd7..8ddf197 100644 --- a/demo.tape +++ b/demo.tape @@ -79,6 +79,10 @@ Type "Hello from the terminal!" Sleep 400ms Tab Sleep 300ms +Tab +Sleep 200ms +Tab +Sleep 100ms # Type the email body with Markdown Type "# Greetings!" From fe214cf2d42847587455eb7505160cd9cf0bcf7e Mon Sep 17 00:00:00 2001 From: drew Date: Wed, 18 Feb 2026 15:33:09 +0400 Subject: [PATCH 06/11] fix: update branch name --- .github/workflows/demo.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml index 755f329..c4fdcb9 100644 --- a/.github/workflows/demo.yml +++ b/.github/workflows/demo.yml @@ -72,5 +72,5 @@ jobs: This PR updates the demo GIF based on the latest release version. Generated automatically by the Update Demo VHS workflow. branch: "update-demo-gif" - base: "main" + base: "master" add-paths: public/assets/demo.gif From 5de1bc3dc6dbbb0a0b2e8bffdd3c8d54119952f5 Mon Sep 17 00:00:00 2001 From: drew Date: Wed, 18 Feb 2026 15:38:46 +0400 Subject: [PATCH 07/11] fix: update the path of config --- .github/workflows/demo.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml index c4fdcb9..dd04144 100644 --- a/.github/workflows/demo.yml +++ b/.github/workflows/demo.yml @@ -32,8 +32,8 @@ jobs: - name: Create Dummy Config # Create the config in the workspace so we can map HOME to it for the container. run: | - mkdir -p .config/matcha - cat < .config/matcha/config.json + mkdir -p ~/.config/matcha + cat < ~/.config/matcha/config.json { "accounts": [ { From 435c025dc4a79a635c076b1d3b5e6ef2302d0b55 Mon Sep 17 00:00:00 2001 From: drew Date: Wed, 18 Feb 2026 15:56:54 +0400 Subject: [PATCH 08/11] fix: get font and load in color --- .github/workflows/demo.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml index dd04144..f7d10c6 100644 --- a/.github/workflows/demo.yml +++ b/.github/workflows/demo.yml @@ -56,8 +56,12 @@ jobs: run: | sudo apt update sudo apt install -y ffmpeg ttyd + mkdir -p ~/.local/share/fonts + wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.1.1/JetBrainsMono.zip + unzip -o JetBrainsMono.zip -d ~/.local/share/fonts + fc-cache -fv go install github.com/charmbracelet/vhs@latest - vhs demo.tape + TERM=xterm-256color vhs demo.tape - name: Move GIF to Assets run: sudo mv demo.gif public/assets/demo.gif From b0c4877923360bb16a31a3b4d41facfb0317d9a7 Mon Sep 17 00:00:00 2001 From: drew Date: Fri, 20 Feb 2026 19:32:45 +0400 Subject: [PATCH 09/11] fix: attempting to get color and cursor --- .github/workflows/demo.yml | 4 +++- demo.tape | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml index f7d10c6..4d3ac12 100644 --- a/.github/workflows/demo.yml +++ b/.github/workflows/demo.yml @@ -52,7 +52,9 @@ jobs: # This works seamlessly because the typing of this command is 'Hidden' in your tape. run: sed -i 's/go run ./.\/matcha/' demo.tape - - name: Run VHS + - name: Run VHS' + env: + CLICOLOR_FORCE: "1" run: | sudo apt update sudo apt install -y ffmpeg ttyd diff --git a/demo.tape b/demo.tape index 8ddf197..7690744 100644 --- a/demo.tape +++ b/demo.tape @@ -6,7 +6,7 @@ Output demo.gif # Terminal settings Set FontSize 14 -Set FontFamily "SF Mono,Menlo,Monaco,Cascadia Code,Consolas,monospace" +Set FontFamily "JetBrainsMono Nerd Font" Set Width 1400 Set Height 800 Set Theme "Catppuccin Mocha" From 39f9db4617417846ecead14ac5ed006100ae699e Mon Sep 17 00:00:00 2001 From: drew Date: Fri, 20 Feb 2026 19:43:30 +0400 Subject: [PATCH 10/11] fix: remove build step --- .github/workflows/demo.yml | 10 ---------- demo.tape | 11 ++++++----- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml index 4d3ac12..5f0e51d 100644 --- a/.github/workflows/demo.yml +++ b/.github/workflows/demo.yml @@ -24,11 +24,6 @@ jobs: with: go-version: "stable" - - name: Build Matcha - # We build the binary so we can run it inside the VHS container - # (which likely doesn't have Go installed). - run: go build -o matcha . - - name: Create Dummy Config # Create the config in the workspace so we can map HOME to it for the container. run: | @@ -47,11 +42,6 @@ jobs: } EOF - - name: Prepare Tape - # Patch the tape to run the compiled binary instead of "go run ." - # This works seamlessly because the typing of this command is 'Hidden' in your tape. - run: sed -i 's/go run ./.\/matcha/' demo.tape - - name: Run VHS' env: CLICOLOR_FORCE: "1" diff --git a/demo.tape b/demo.tape index 7690744..0b20f09 100644 --- a/demo.tape +++ b/demo.tape @@ -73,16 +73,17 @@ Type "friend@example.com" Sleep 400ms Tab Sleep 300ms - +Tab +Sleep 100ms +Tab +Sleep 200ms # Type the subject Type "Hello from the terminal!" Sleep 400ms Tab Sleep 300ms -Tab -Sleep 200ms -Tab -Sleep 100ms + + # Type the email body with Markdown Type "# Greetings!" From e6489ba9605305d55b7a6dff5b8c0b013071044d Mon Sep 17 00:00:00 2001 From: Drew Smirnoff Date: Fri, 20 Feb 2026 20:02:28 +0400 Subject: [PATCH 11/11] include version in go build --- .github/workflows/demo.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml index 5f0e51d..c43136b 100644 --- a/.github/workflows/demo.yml +++ b/.github/workflows/demo.yml @@ -41,6 +41,24 @@ jobs: ] } EOF + - name: Build Matcha + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + LATEST_TAG=$(gh release view --json tagName -q ".tagName") + echo "Found latest release: $LATEST_VERSION + + git fetch --tags + git checkout "$LATEST_TAG" + + COMMIT=$(git rev-parse --short HEAD) + DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') + go build -ldflags="-s -w -X main.version=$LATEST_TAG -X main.commit=$COMMIT -X main.date=$DATE" -o matcha . + + - name: Prepare Tape + # Patch the tape to run the compiled binary instead of "go run ." + # This works seamlessly because the typing of this command is 'Hidden' in your tape. + run: sed -i 's/go run ./.\/matcha/' demo.tape - name: Run VHS' env: