ods/.forgejo/workflows/main.yaml

46 lines
1.1 KiB
YAML

---
on:
push:
workflow_dispatch:
jobs:
fmt:
runs-on: 'self-hosted'
steps:
- uses: 'actions/checkout@v4'
- uses: 'actions/setup-go@v5'
with:
go-version-file: 'go.mod'
- run: |
make tidy no-dirty
test:
runs-on: 'self-hosted'
steps:
- uses: 'actions/checkout@v4'
- uses: 'actions/setup-go@v5'
with:
go-version-file: 'go.mod'
- run: |
make check tidy no-dirty
build:
if: "${{ startsWith(github.ref, 'refs/tags/') }}"
needs:
- 'fmt'
- 'test'
runs-on: 'self-hosted'
steps:
- uses: 'actions/checkout@v4'
- uses: 'actions/setup-go@v5'
with:
go-version-file: 'go.mod'
- run: |
printf '%s' "$GIT_CRYPT_SECRET" > secret
git-crypt unlock secret
make build
env:
GIT_CRYPT_SECRET: '${{ secrets.GIT_CRYPT }}'
- uses: 'actions/upload-artifact@v4'
with:
if-no-files-found: 'error'
name: 'ods-${{ env.GITHUB_REF_NAME }}'
path: 'ods'