Nightly Integration Tests #80
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Nightly Integration Tests | |
| on: | |
| schedule: | |
| - cron: '0 6 * * *' # 06:00 UTC daily | |
| workflow_dispatch: # Allow manual triggering | |
| permissions: | |
| contents: read | |
| jobs: | |
| integration-full: | |
| name: Full Integration Tests | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| - name: Set up Go | |
| uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6 | |
| with: | |
| go-version: '1.26' | |
| cache: true | |
| - name: Configure Git | |
| run: | | |
| git config --global user.name "CI Bot" | |
| git config --global user.email "ci@gastown.test" | |
| - name: Cache beads (bd) | |
| id: cache-beads | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5 | |
| with: | |
| path: ~/go/bin/bd | |
| key: beads-nightly-${{ hashFiles('.github/workflows/nightly-integration.yml') }} | |
| - name: Install beads (bd) | |
| if: steps.cache-beads.outputs.cache-hit != 'true' | |
| run: go install github.com/steveyegge/beads/cmd/bd@v1.0.4 | |
| - name: Install Dolt | |
| run: | | |
| curl -sL https://github.com/dolthub/dolt/releases/download/v2.0.7/dolt-linux-amd64.tar.gz | tar xz | |
| mv dolt-linux-amd64/bin/dolt ~/go/bin/dolt | |
| - name: Pre-pull Dolt Docker image | |
| run: docker pull dolthub/dolt-sql-server:2.0.7 | |
| - name: Add to PATH | |
| run: echo "$(go env GOPATH)/bin" >> "$GITHUB_PATH" | |
| - name: Configure Dolt | |
| run: | | |
| dolt config --global --add user.name "CI Bot" | |
| dolt config --global --add user.email "ci@gastown.test" | |
| - name: Install gotestsum | |
| run: go install gotest.tools/gotestsum@latest | |
| - name: Build | |
| run: go build -v ./cmd/gt | |
| - name: Run all integration tests | |
| run: gotestsum --format testname --junitfile junit.xml -- -v -tags=integration -timeout=20m ./... |