--- name: VHS Gif Updater on: push: branches: [master] pull_request: branches: [master] workflow_dispatch: permissions: contents: write jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v4 with: go-version: '1.22' - name: Build run: go build -o ./termpicker -v ./cmd/termpicker - name: Test run: go test -v ./... - name: Install VHS dependencies run: | sudo apt update sudo apt install -y ffmpeg zsh wget https://github.com/tsl0922/ttyd/releases/download/1.7.7/ttyd.x86_64 sudo chmod +x ttyd.x86_64 sudo mv ttyd.x86_64 /usr/local/bin/ttyd - name: Install VHS run: | wget https://github.com/charmbracelet/vhs/releases/download/v0.8.0/vhs_0.8.0_amd64.deb sudo dpkg -i vhs_0.8.0_amd64.deb - name: Enable Color Output run: | echo 'export TERM=xterm-256color' >> $GITHUB_ENV echo 'export CLICOLOR=1' >> $GITHUB_ENV echo 'export FORCE_COLOR=1' >> $GITHUB_ENV - name: Generate Demo GIF run: vhs ./assets/demo.tape - name: Commit and push updated GIF demo run: |- git config --global user.name 'github-actions' git config --global user.email 'github-actions@github.com' git add ./assets/demo.gif README.md if git diff --cached --quiet; then echo "No changes to commit." else git commit -m 'Update GIF preview in README' git push fi