-
Notifications
You must be signed in to change notification settings - Fork 2.3k
53 lines (48 loc) · 2.35 KB
/
Copy pathpy-tests-postgres.yml
File metadata and controls
53 lines (48 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Copyright 2021 Collate
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: py-tests-postgres
on:
merge_group:
workflow_dispatch:
pull_request_target:
types: [labeled, opened, synchronize, reopened, ready_for_review]
permissions:
contents: read
pull-requests: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.event_name != 'pull_request_target' || github.event.action != 'labeled' || (github.event.label.name == 'safe to test' && github.event.pull_request.head.repo.full_name != github.repository) }}
jobs:
# Integration tests only; the unit-test and coverage jobs run in py-tests.yml.
python:
uses: ./.github/workflows/py-tests-shared.yml
with:
compose-args: "-m no-ui -d postgresql -s true -i false"
artifact-prefix: py-postgres
test-profile: python-postgresql-integration
secrets: inherit
# The sole required check for this workflow. Must stay in the caller: inside
# py-tests-shared.yml it would report as "py-tests-postgres / python / <job>".
py-tests-status:
name: ${{ github.event_name == 'pull_request_target' && github.event.action == 'labeled' && github.event.label.name != 'safe to test' && 'py-tests-status (ignored label)' || 'py-tests-status' }}
needs: python
if: ${{ always() && !github.event.pull_request.draft && (github.event_name != 'pull_request_target' || github.event.action != 'labeled' || github.event.label.name == 'safe to test') }}
runs-on: ubuntu-latest
steps:
- name: Verify the shared PostgreSQL Python pipeline succeeded
env:
PIPELINE_RESULT: ${{ needs.python.result }}
run: |
if [ "$PIPELINE_RESULT" != "success" ]; then
echo "Shared PostgreSQL Python pipeline did not succeed: $PIPELINE_RESULT"
exit 1
fi
shell: bash