71 lines
1.5 KiB
YAML
71 lines
1.5 KiB
YAML
name: CI
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
test-and-build:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: golang:latest
|
|
options: --network host
|
|
steps:
|
|
- name: Check out repository code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: List files in the repository
|
|
run: ls ${{ gitea.workspace }}
|
|
|
|
- name: Download modules
|
|
run: go mod download
|
|
|
|
- name: Test
|
|
run: make test
|
|
|
|
- name: Build
|
|
run: make build
|
|
|
|
- name: Version
|
|
run: make version
|
|
|
|
- name: Upload binary
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: tm
|
|
path: ./bin/tm
|
|
|
|
- run: echo "This job's status is ${{ job.status }}."
|
|
|
|
demo:
|
|
runs-on: ubuntu-latest
|
|
needs: test-and-build
|
|
container:
|
|
image: ghcr.io/charmbracelet/vhs:latest
|
|
options: --network host
|
|
steps:
|
|
- name: Check out repository code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Download binary
|
|
uses: actions/download-artifact@v3
|
|
with:
|
|
name: tm
|
|
path: ./bin
|
|
|
|
- name: Make binary executable
|
|
run: chmod +x ./bin/tm
|
|
|
|
- name: Install vim (used as EDITOR in the tape)
|
|
run: |
|
|
apt-get update
|
|
apt-get install -y --no-install-recommends vim
|
|
|
|
- name: Record demo
|
|
run: vhs demo.tape
|
|
|
|
- name: Upload demo
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: demo
|
|
path: |
|
|
demo.gif
|
|
demo.mp4
|