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
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
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