Daily Integration Tests #240
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: Daily Integration Tests | |
| on: | |
| schedule: | |
| - cron: '0 0 * * *' | |
| workflow_dispatch: | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - '.github/workflows/cron.integration.yml' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| cache: 'maven' | |
| gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} # Value of the GPG private key to import | |
| gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase | |
| - name: Start Cluster With Nginx and Minio | |
| working-directory: tests | |
| run: make up | |
| - name: Test with conn to nginx | |
| run: mvn test -DexcludedGroups=FLAKY | |
| env: | |
| MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | |
| DATABEND_TEST_CONN_PORT: 8000 | |
| notify: | |
| if: failure() | |
| needs: [ test ] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Notify Dev Team | |
| uses: actions/github-script@v7 | |
| env: | |
| WEBHOOK_URL: ${{ secrets.DEV_TEAM_WEBHOOK_URL }} | |
| with: | |
| script: | | |
| const body = { | |
| msg_type: 'text', | |
| content: { | |
| text: '⚠️ Databend JDBC Integration Tests Failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}', | |
| } | |
| } | |
| const response = await fetch(process.env.WEBHOOK_URL, { | |
| method: 'POST', | |
| body: JSON.stringify(body), | |
| headers: {'Content-Type': 'application/json'} | |
| }); | |
| const result = await response.json(); | |
| console.log(result); |