From ef00d9119c2268758b56ee223da27fcaea0d2e54 Mon Sep 17 00:00:00 2001 From: Pallavi Sontakke Date: Wed, 12 Feb 2025 14:36:43 +0530 Subject: [PATCH] Schedule coverity scan weekly on release branch. Also, schedule sqlsmith daily on release branch. --- .github/workflows/prerelease-test.yaml | 52 ++++++++++++++++++++------ .github/workflows/sqlsmith.yaml | 1 + 2 files changed, 42 insertions(+), 11 deletions(-) diff --git a/.github/workflows/prerelease-test.yaml b/.github/workflows/prerelease-test.yaml index 7f9f809a9f5..e6cfccc399a 100644 --- a/.github/workflows/prerelease-test.yaml +++ b/.github/workflows/prerelease-test.yaml @@ -1,20 +1,13 @@ -# Push the release branch to upstream/prerelease_test branch in the TimescaleDB repository. -# -# Commits on this branch will be tested by more tests than our usual PRs. -# You can see the pre-release test progress under the actions -# (https://github.com/timescale/timescaledb/actions?query=branch%3Aprerelease_test) -# or under the pull request you created for the release. -# -# Note: Because the upgrade script does not get executed at this stage, some test might fail. -# These test failures can be ignored at this point. Your branch will be re-tested as soon as -# the proper downgrade script is created and the versioning is adjusted. +# Prerelease Tests name: Prerelease Tests on Release branch on: workflow_dispatch: schedule: - # run daily at 5 am UTC + # run prerelease tests daily at 5 am UTC - cron: '0 5 * * *' + # run coverity tests at 22:00 on every sunday + - cron: '0 22 * * SUN' # The workflow needs the permission to push branches permissions: @@ -40,8 +33,45 @@ jobs: with: ref: ${{ env.RELEASE_BRANCH }} +# Prerelease Testing +# +# Push the release branch to upstream/prerelease_test branch in the TimescaleDB repository. +# +# Commits on this branch will be tested by more tests than our usual PRs. +# You can see the pre-release test progress under the actions +# (https://github.com/timescale/timescaledb/actions?query=branch%3Aprerelease_test) +# or under the pull request you created for the release. +# +# Note: Because the upgrade script does not get executed at this stage, some test might fail. +# These test failures can be ignored at this point. Your branch will be re-tested as soon as +# the proper downgrade script is created and the versioning is adjusted. + - name: Push the release branch to prerelease_test branch + if: github.event.schedule == '0 5 * * *' env: GITHUB_TOKEN: ${{ secrets.ORG_AUTOMATION_TOKEN }} run: | git push upstream HEAD:prerelease_test --force + + +# Coverity Testing +# +# Coverity (https://scan.coverity.com) is a static code analysis software that analyzes sourcecode +# and spots problems like null pointer dereferences or incorrect expressions. To execute Coverity on +# your release, the release needs to be pushed to the branch coverity_scan. After pushing the release +# to the branch, a GitHub action (https://github.com/timescale/timescaledb/blob/main/.github/workflows/coverity.yaml) +# is triggered that starts the code analysis. + +# You can see the result of the Coverity scan under the URL (https://scan.coverity.com/projects/timescale-timescaledb?tab=overview). +# A few minutes after you have pushed your changes to the coverity_scan branch, you should see that the +# check of commit has been started. When the check is done, there should be no new errors reported (0 Newly detected). +# +# Note: Some rate limits (https://scan.coverity.com/faq#frequency) apply to the Coverity service. So, +# don't push your branch too often to this service. + + - name: Push the release branch to coverity_scan branch + if: github.event.schedule == '0 22 * * SUN' + env: + GITHUB_TOKEN: ${{ secrets.ORG_AUTOMATION_TOKEN }} + run: | + git push upstream HEAD:coverity_scan --force diff --git a/.github/workflows/sqlsmith.yaml b/.github/workflows/sqlsmith.yaml index 08c3fbd6438..41c4c291d4f 100644 --- a/.github/workflows/sqlsmith.yaml +++ b/.github/workflows/sqlsmith.yaml @@ -8,6 +8,7 @@ name: SQLsmith branches: - sqlsmith - main + - prerelease_test pull_request: paths: .github/workflows/sqlsmith.yaml