mirror of https://github.com/citusdata/citus.git
Add GitHub Actions workflow for building and testing PG master
parent
a7e686c106
commit
c940bda953
|
@ -0,0 +1,103 @@
|
|||
name: Build & Test PG Master
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- "main"
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
params:
|
||||
runs-on: ubuntu-latest
|
||||
name: Initialize parameters
|
||||
outputs:
|
||||
build_image_name: "ghcr.io/citusdata/extbuilder"
|
||||
test_image_name: "ghcr.io/citusdata/exttester"
|
||||
pg_master_version: '{ "major": "master", "full": "master" }'
|
||||
image_suffix: "-veab367a"
|
||||
steps:
|
||||
- name: Set up parameters
|
||||
run: echo 'noop'
|
||||
|
||||
build_pg_master:
|
||||
needs: params
|
||||
name: Build for PG${{ fromJson(matrix.pg_version).major }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
image_name:
|
||||
- ${{ needs.params.outputs.build_image_name }}
|
||||
pg_version:
|
||||
- ${{ needs.params.outputs.pg_master_version }}
|
||||
image_suffix:
|
||||
- ${{ needs.params.outputs.image_suffix }}
|
||||
runs-on: ubuntu-20.04
|
||||
container:
|
||||
image: "${{ matrix.image_name }}:${{ fromJson(matrix.pg_version).full }}${{ matrix.image_suffix }}"
|
||||
options: --user root
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Expose PG_MAJOR to GitHub Environment
|
||||
run: echo "PG_MAJOR=${{ fromJson(matrix.pg_version).major }}" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
- name: Build Citus with PG master branch
|
||||
run: "./ci/build-citus.sh"
|
||||
shell: bash
|
||||
- name: Upload build artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: build-${{ env.PG_MAJOR }}
|
||||
path: |-
|
||||
./build-${{ env.PG_MAJOR }}/*
|
||||
./install-${{ env.PG_MAJOR }}.tar
|
||||
|
||||
test_citus_pg_master:
|
||||
needs: build_pg_master
|
||||
name: PG${{ fromJson(matrix.pg_version).major }} - Test Citus
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
suite:
|
||||
- regress
|
||||
image_name:
|
||||
- ${{ needs.params.outputs.test_image_name }}
|
||||
pg_version:
|
||||
- ${{ needs.params.outputs.pg_master_version }}
|
||||
make:
|
||||
- check-split
|
||||
- check-multi
|
||||
- check-multi-1
|
||||
- check-multi-mx
|
||||
- check-vanilla
|
||||
- check-isolation
|
||||
- check-operations
|
||||
- check-follower-cluster
|
||||
- check-columnar
|
||||
- check-columnar-isolation
|
||||
- check-enterprise
|
||||
- check-enterprise-isolation
|
||||
- check-enterprise-isolation-logicalrep-1
|
||||
- check-enterprise-isolation-logicalrep-2
|
||||
- check-enterprise-isolation-logicalrep-3
|
||||
runs-on: ubuntu-20.04
|
||||
container:
|
||||
image: "${{ matrix.image_name }}:${{ fromJson(matrix.pg_version).full }}${{ needs.params.outputs.image_suffix }}"
|
||||
options: --user root --dns=8.8.8.8
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: ./.github/actions/setup_extension
|
||||
- name: Run tests
|
||||
run: gosu circleci make -C src/test/${{ matrix.suite }} ${{ matrix.make }}
|
||||
timeout-minutes: 20
|
||||
- name: Save logs and results
|
||||
if: always()
|
||||
uses: ./.github/actions/save_logs_and_results
|
||||
with:
|
||||
folder: ${{ fromJson(matrix.pg_version).major }}_${{ matrix.make }}
|
||||
- name: Upload coverage results
|
||||
if: always()
|
||||
uses: ./.github/actions/upload_coverage
|
||||
with:
|
||||
flags: ${{ env.PG_MAJOR }}_${{ matrix.suite }}_${{ matrix.make }}
|
||||
codecov_token: ${{ secrets.CODECOV_TOKEN }}
|
Loading…
Reference in New Issue