Skip to content

Commit 2e9f3e6

Browse files
Use with-connect instead of bespoke integration test setup
1 parent 5546854 commit 2e9f3e6

File tree

1 file changed

+48
-31
lines changed

1 file changed

+48
-31
lines changed

.github/workflows/ci.yaml

Lines changed: 48 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ jobs:
1111
lint:
1212
runs-on: ubuntu-latest
1313
steps:
14-
- uses: actions/checkout@v4
15-
- uses: astral-sh/setup-uv@v6
14+
- uses: actions/checkout@v5
15+
- uses: astral-sh/setup-uv@v7
1616
- run: uv python install
1717
- run: make dev
1818
- run: make lint
@@ -31,43 +31,60 @@ jobs:
3131
- "3.12"
3232
- "3.13"
3333
steps:
34-
- uses: actions/checkout@v4
35-
- uses: astral-sh/setup-uv@v6
34+
- uses: actions/checkout@v5
35+
- uses: astral-sh/setup-uv@v7
3636
- run: uv python install ${{ matrix.python-version }}
3737
- run: make dev
3838
- run: make test
3939

40-
setup-integration-test:
41-
runs-on: ubuntu-latest
42-
outputs:
43-
versions: ${{ steps.versions.outputs.versions }}
44-
steps:
45-
- uses: actions/checkout@v4
46-
- id: versions
47-
working-directory: ./integration
48-
# The `jq` command is "output compact, raw input, slurp, split on new lines, and remove the last element". This results in a JSON array of Connect versions (e.g., ["2025.01.0", "2024.12.0"]).
49-
run: |
50-
versions=$(make print-versions | jq -c -Rs 'split("\n") | .[:-1]')
51-
echo "versions=$versions" >> "$GITHUB_OUTPUT"
52-
5340
integration-test:
5441
runs-on: ubuntu-latest
55-
needs: setup-integration-test
5642
strategy:
5743
fail-fast: false
5844
matrix:
59-
CONNECT_VERSION: ${{ fromJson(needs.setup-integration-test.outputs.versions) }}
45+
CONNECT_VERSION:
46+
- 2025.10.0
47+
- 2025.09.1
48+
- 2025.07.0
49+
- 2025.06.0
50+
- 2025.05.0
51+
- 2025.04.0
52+
- 2025.03.0
53+
- 2025.02.0
54+
- 2025.01.0
55+
- 2024.12.0
56+
- 2024.11.0
57+
- 2024.09.0
58+
- 2024.08.0
59+
- 2024.06.0
60+
- 2024.05.0
61+
- 2024.04.1
62+
- 2024.04.0
63+
- 2024.03.0
64+
- 2024.02.0
65+
- 2024.01.0
66+
- 2023.12.0
67+
- 2023.10.0
68+
- 2023.09.0
69+
- 2023.07.0
70+
- 2023.06.0
71+
- 2023.05.0
72+
- 2023.01.1
73+
- 2023.01.0
74+
- 2022.12.0
75+
- 2022.11.0
6076
steps:
61-
- uses: actions/checkout@v4
62-
- uses: docker/setup-buildx-action@v3
63-
- name: Write Posit Connect license to disk
64-
run: echo "$CONNECT_LICENSE" > ./integration/license.lic
65-
env:
66-
CONNECT_LICENSE: ${{ secrets.CONNECT_LICENSE }}
67-
- uses: astral-sh/setup-uv@v6
77+
- uses: actions/checkout@v5
78+
- uses: astral-sh/setup-uv@v7
6879
- run: uv python install
69-
- run: make -C ./integration ${{ matrix.CONNECT_VERSION }}
70-
- uses: actions/upload-artifact@v4
80+
- name: Run integration tests
81+
uses: posit-dev/with-connect@main
82+
with:
83+
version: ${{ matrix.CONNECT_VERSION }}
84+
license: ${{ secrets.CONNECT_LICENSE }}
85+
command:
86+
uv run pytest -s --junit-xml=./reports/${{ matrix.CONNECT_VERSION }}.xml
87+
- uses: actions/upload-artifact@v5
7188
if: always()
7289
with:
7390
name: ${{ matrix.CONNECT_VERSION }} - Integration Test Report
@@ -81,7 +98,7 @@ jobs:
8198
pull-requests: write
8299
if: always()
83100
steps:
84-
- uses: actions/download-artifact@v4
101+
- uses: actions/download-artifact@v6
85102
with:
86103
path: artifacts
87104
- uses: EnricoMi/publish-unit-test-result-action@v2
@@ -94,8 +111,8 @@ jobs:
94111
build:
95112
runs-on: ubuntu-latest
96113
steps:
97-
- uses: actions/checkout@v4
98-
- uses: astral-sh/setup-uv@v6
114+
- uses: actions/checkout@v5
115+
- uses: astral-sh/setup-uv@v7
99116
- run: uv python install
100117
- run: make dev
101118
- run: make build

0 commit comments

Comments
 (0)