v0.20.0 #20
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Update Demo VHS | |
| on: | |
| workflow_dispatch: | |
| release: | |
| types: [published] | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| jobs: | |
| update-demo: | |
| name: Generate and Update Demo GIF | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: "stable" | |
| - 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 <<EOF > ~/.config/matcha/config.json | |
| { | |
| "accounts": [ | |
| { | |
| "id": "demo-user", | |
| "name": "Matcha Client", | |
| "email": "matcha@floatpane.com", | |
| "password": "dummy-password", | |
| "service_provider": "custom", | |
| "fetch_email": "matcha@floatpane.com" | |
| } | |
| ] | |
| } | |
| 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_TAG" | |
| git fetch --tags | |
| 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: | |
| CLICOLOR_FORCE: "1" | |
| 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 | |
| TERM=xterm-256color vhs demo.tape | |
| - name: Move GIF to Assets | |
| run: sudo mv demo.gif public/assets/demo.gif | |
| - name: Create Pull Request | |
| uses: peter-evans/create-pull-request@v8 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| commit-message: "docs: update demo.gif from release [skip ci]" | |
| title: "docs: update demo.gif" | |
| body: | | |
| 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: "master" | |
| add-paths: public/assets/demo.gif |