name: Test with Ardent branch
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
test:
runs-on: ubuntu-latest
env:
ARDENT_TOKEN: ${{ secrets.ARDENT_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
- name: Install dependencies
run: npm ci
- name: Install Ardent CLI
run: npm install -g ardent-cli
- name: Select project and connector
run: |
ardent project switch my-project
ardent connector switch my-connector
- name: Create database branch
run: |
BRANCH_NAME="pr-${{ github.event.pull_request.number }}-${{ github.run_id }}"
DATABASE_URL="$(ardent branch create "$BRANCH_NAME" --print-url)"
if [ -z "$DATABASE_URL" ]; then
echo "Ardent did not return a database URL" >&2
exit 1
fi
echo "DATABASE_URL=$DATABASE_URL" >> "$GITHUB_ENV"
echo "ARDENT_BRANCH=$BRANCH_NAME" >> "$GITHUB_ENV"
- name: Run tests
run: npm test
- name: Delete database branch
if: always() && env.ARDENT_BRANCH != ''
run: ardent branch delete "$ARDENT_BRANCH"