71 lines
1.7 KiB
YAML
71 lines
1.7 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- v[0-9]+
|
|
|
|
jobs:
|
|
check:
|
|
name: Check
|
|
uses: ./.github/workflows/check.yaml
|
|
secrets:
|
|
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
|
|
|
|
|
|
docs:
|
|
name: Docs
|
|
uses: ./.github/workflows/docs.yaml
|
|
secrets:
|
|
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
|
|
|
|
|
|
test:
|
|
name: Test
|
|
uses: ./.github/workflows/test.yaml
|
|
secrets:
|
|
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
|
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
|
|
|
|
build:
|
|
name: Build
|
|
uses: ./.github/workflows/build.yaml
|
|
secrets:
|
|
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
|
|
|
|
|
|
tag:
|
|
name: Tag
|
|
concurrency:
|
|
# Never tag outdated commits on the main branch by skipping superseded commits
|
|
group: ci-tag-${{ (github.ref == 'refs/heads/main' && github.ref) || github.run_id }}
|
|
# TODO: Enable this once https://github.com/orgs/community/discussions/13015 is solved
|
|
cancel-in-progress: false
|
|
if: vars.RELEASE_ENABLED
|
|
runs-on: ubuntu-24.04
|
|
needs:
|
|
- docs
|
|
- test
|
|
- build
|
|
steps:
|
|
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
ssh-key: ${{ secrets.POSTGREST_SSH_KEY }}
|
|
- name: Tag latest commit
|
|
run: |
|
|
cabal_version="$(grep -oP '^version:\s*\K.*' postgrest.cabal)"
|
|
|
|
if [[ "$cabal_version" == *.*.* ]]; then
|
|
git fetch --tags
|
|
|
|
if [ -z "$(git tag --list "v$cabal_version")" ]; then
|
|
git tag "v$cabal_version"
|
|
git push origin "v$cabal_version"
|
|
fi
|
|
else
|
|
git tag -f "devel"
|
|
git push -f origin "devel"
|
|
fi
|