summaryrefslogtreecommitdiff
path: root/.github/workflows/go.yml
blob: ae86aacbb8e2833e537462f9246aefec900345ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
---
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