koki-develop/gotrash

View on GitHub
.github/workflows/update-docs.yml

Summary

Maintainability
Test Coverage
name: update docs

on:
  workflow_dispatch:

env:
  CLICOLOR_FORCE: "1"

jobs:
  update-put-gif:
    runs-on: ubuntu-latest
    steps:
      - name: checkout
        uses: actions/checkout@v3
      - uses: actions/setup-go@v4
        with:
          go-version-file: go.mod
      - name: record put
        uses: charmbracelet/vhs-action@v1
        with:
          path: ./tapes/put.tape
          token: ${{ secrets.GITHUB_TOKEN }}
      - name: upload put.gif
        uses: actions/upload-artifact@v3
        with:
          name: put-gif
          path: ./docs/put.gif

  update-list-gif:
    runs-on: ubuntu-latest
    steps:
      - name: checkout
        uses: actions/checkout@v3
      - uses: actions/setup-go@v4
        with:
          go-version-file: go.mod
      - name: record list
        uses: charmbracelet/vhs-action@v1
        with:
          path: ./tapes/list.tape
          token: ${{ secrets.GITHUB_TOKEN }}
      - name: upload list.gif
        uses: actions/upload-artifact@v3
        with:
          name: list-gif
          path: ./docs/list.gif

  update-restore-gif:
    runs-on: ubuntu-latest
    steps:
      - name: checkout
        uses: actions/checkout@v3
      - uses: actions/setup-go@v4
        with:
          go-version-file: go.mod
      - name: record restore
        uses: charmbracelet/vhs-action@v1
        with:
          path: ./tapes/restore.tape
          token: ${{ secrets.GITHUB_TOKEN }}
      - name: upload restore.gif
        uses: actions/upload-artifact@v3
        with:
          name: restore-gif
          path: ./docs/restore.gif

  update-restore-ui-gif:
    runs-on: ubuntu-latest
    steps:
      - name: checkout
        uses: actions/checkout@v3
      - uses: actions/setup-go@v4
        with:
          go-version-file: go.mod
      - name: record restore-ui
        uses: charmbracelet/vhs-action@v1
        with:
          path: ./tapes/restore-ui.tape
          token: ${{ secrets.GITHUB_TOKEN }}
      - name: upload restore-ui.gif
        uses: actions/upload-artifact@v3
        with:
          name: restore-ui-gif
          path: ./docs/restore-ui.gif

  update-clear-gif:
    runs-on: ubuntu-latest
    steps:
      - name: checkout
        uses: actions/checkout@v3
      - uses: actions/setup-go@v4
        with:
          go-version-file: go.mod
      - name: record clear
        uses: charmbracelet/vhs-action@v1
        with:
          path: ./tapes/clear.tape
          token: ${{ secrets.GITHUB_TOKEN }}
      - name: upload clear.gif
        uses: actions/upload-artifact@v3
        with:
          name: clear-gif
          path: ./docs/clear.gif

  create-pull-request:
    needs:
      - update-put-gif
      - update-list-gif
      - update-restore-gif
      - update-restore-ui-gif
      - update-clear-gif
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
    steps:
      - name: checkout
        uses: actions/checkout@v3

      # put
      - name: download put.gif
        uses: actions/download-artifact@v3
        with:
          name: put-gif
          path: /tmp/
      - run: cp /tmp/put.gif ./docs/put.gif

      # list
      - name: download list.gif
        uses: actions/download-artifact@v3
        with:
          name: list-gif
          path: /tmp/
      - run: cp /tmp/list.gif ./docs/list.gif

      # restore
      - name: download restore.gif
        uses: actions/download-artifact@v3
        with:
          name: restore-gif
          path: /tmp/
      - run: cp /tmp/restore.gif ./docs/restore.gif

      # restore-ui
      - name: download restore-ui.gif
        uses: actions/download-artifact@v3
        with:
          name: restore-ui-gif
          path: /tmp/
      - run: cp /tmp/restore-ui.gif ./docs/restore-ui.gif

      # clear
      - name: download clear.gif
        uses: actions/download-artifact@v3
        with:
          name: clear-gif
          path: /tmp/
      - run: cp /tmp/clear.gif ./docs/clear.gif

      - name: create pull request
        uses: peter-evans/create-pull-request@v5
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          title: update docs
          body: ${{ github.sha }}
          branch: docs/update
          branch-suffix: short-commit-hash