Force Test Upgrading of Extension #142
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: Force Test Upgrading of Extension | |
on: | |
schedule: | |
# * is a special character in YAML so you have to quote this string | |
# ┌───────────── minute (0 - 59) | |
# │ ┌───────────── hour (0 - 23) | |
# │ │ ┌───────────── day of the month (1 - 31) | |
# │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) | |
# │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) | |
- cron: '45 2 * * *' # run once a day, timezone is utc | |
workflow_dispatch: # adds ability to run this manually | |
defaults: | |
run: | |
shell: bash -euxo pipefail {0} | |
concurrency: | |
# Allow only one workflow | |
group: ${{ github.workflow }} | |
cancel-in-progress: true | |
permissions: | |
id-token: write # aws-actions/configure-aws-credentials | |
statuses: write | |
contents: read | |
jobs: | |
regress: | |
strategy: | |
fail-fast: false | |
matrix: | |
pg-version: [16, 17] | |
runs-on: small | |
steps: | |
- name: Harden the runner (Audit all outbound calls) | |
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0 | |
with: | |
egress-policy: audit | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
submodules: false | |
- name: Get the last compute release tag | |
id: get-last-compute-release-tag | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
tag=$(gh api -q '[.[].tag_name | select(startswith("release-compute"))][0]'\ | |
-H "Accept: application/vnd.github+json" \ | |
-H "X-GitHub-Api-Version: 2022-11-28" \ | |
"/repos/${GITHUB_REPOSITORY}/releases") | |
echo tag=${tag} >> ${GITHUB_OUTPUT} | |
- name: Test extension upgrade | |
timeout-minutes: 60 | |
env: | |
NEW_COMPUTE_TAG: latest | |
OLD_COMPUTE_TAG: ${{ steps.get-last-compute-release-tag.outputs.tag }} | |
TEST_EXTENSIONS_TAG: ${{ steps.get-last-compute-release-tag.outputs.tag }} | |
PG_VERSION: ${{ matrix.pg-version }} | |
FORCE_ALL_UPGRADE_TESTS: true | |
run: ./docker-compose/test_extensions_upgrade.sh | |
- name: Print logs and clean up | |
if: always() | |
run: | | |
docker compose --profile test-extensions -f ./docker-compose/docker-compose.yml logs || true | |
docker compose --profile test-extensions -f ./docker-compose/docker-compose.yml down | |
- name: Post to the Slack channel | |
if: ${{ github.event.schedule && failure() }} | |
uses: slackapi/slack-github-action@fcfb566f8b0aab22203f066d80ca1d7e4b5d05b3 # v1.27.1 | |
with: | |
channel-id: ${{ vars.SLACK_ON_CALL_QA_STAGING_STREAM }} | |
slack-message: | | |
Test upgrading of extensions: ${{ job.status }} | |
<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|GitHub Run> | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} |