diff --git a/.forgejo/workflows/main.yaml b/.forgejo/workflows/main.yaml new file mode 100644 index 0000000..7d91e8f --- /dev/null +++ b/.forgejo/workflows/main.yaml @@ -0,0 +1,46 @@ +--- +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" | base64 -d > 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'