name: CI on: [push, pull_request] jobs: test-and-build: runs-on: ubuntu-latest container: image: golang:latest options: --network host steps: # Node-Actions (checkout / upload-artifact) brauchen node im Container - name: Install Node.js run: | apt-get update apt-get install -y --no-install-recommends nodejs npm - 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: Install Node.js and vim run: | apt-get update apt-get install -y --no-install-recommends nodejs npm vim - 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: Record demo run: vhs demo.tape - name: Upload demo uses: actions/upload-artifact@v3 with: name: demo path: | demo.gif demo.mp4