Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 48 additions & 31 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
- uses: actions/checkout@v5
- uses: astral-sh/setup-uv@v7
- run: uv python install
- run: make dev
- run: make lint
Expand All @@ -31,43 +31,60 @@ jobs:
- "3.12"
- "3.13"
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
- uses: actions/checkout@v5
- uses: astral-sh/setup-uv@v7
- run: uv python install ${{ matrix.python-version }}
- run: make dev
- run: make test

setup-integration-test:
runs-on: ubuntu-latest
outputs:
versions: ${{ steps.versions.outputs.versions }}
steps:
- uses: actions/checkout@v4
- id: versions
working-directory: ./integration
# 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"]).
run: |
versions=$(make print-versions | jq -c -Rs 'split("\n") | .[:-1]')
echo "versions=$versions" >> "$GITHUB_OUTPUT"

integration-test:
runs-on: ubuntu-latest
needs: setup-integration-test
strategy:
fail-fast: false
matrix:
CONNECT_VERSION: ${{ fromJson(needs.setup-integration-test.outputs.versions) }}
CONNECT_VERSION:
- 2025.10.0
- 2025.09.1
- 2025.07.0
- 2025.06.0
- 2025.05.0
- 2025.04.0
- 2025.03.0
- 2025.02.0
- 2025.01.0
- 2024.12.0
- 2024.11.0
- 2024.09.0
- 2024.08.0
- 2024.06.0
- 2024.05.0
- 2024.04.1
- 2024.04.0
- 2024.03.0
- 2024.02.0
- 2024.01.0
- 2023.12.0
- 2023.10.0
- 2023.09.0
- 2023.07.0
- 2023.06.0
- 2023.05.0
- 2023.01.1
- 2023.01.0
- 2022.12.0
- 2022.11.0
steps:
- uses: actions/checkout@v4
- uses: docker/setup-buildx-action@v3
- name: Write Posit Connect license to disk
run: echo "$CONNECT_LICENSE" > ./integration/license.lic
env:
CONNECT_LICENSE: ${{ secrets.CONNECT_LICENSE }}
- uses: astral-sh/setup-uv@v6
- uses: actions/checkout@v5
- uses: astral-sh/setup-uv@v7
- run: uv python install
- run: make -C ./integration ${{ matrix.CONNECT_VERSION }}
- uses: actions/upload-artifact@v4
- name: Run integration tests
uses: posit-dev/with-connect@main
with:
version: ${{ matrix.CONNECT_VERSION }}
license: ${{ secrets.CONNECT_LICENSE }}
command:
uv run pytest -s --junit-xml=./integration/reports/${{ matrix.CONNECT_VERSION }}.xml
- uses: actions/upload-artifact@v5
if: always()
with:
name: ${{ matrix.CONNECT_VERSION }} - Integration Test Report
Expand All @@ -81,7 +98,7 @@ jobs:
pull-requests: write
if: always()
steps:
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v6
with:
path: artifacts
- uses: EnricoMi/publish-unit-test-result-action@v2
Expand All @@ -94,8 +111,8 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
- uses: actions/checkout@v5
- uses: astral-sh/setup-uv@v7
- run: uv python install
- run: make dev
- run: make build
146 changes: 0 additions & 146 deletions integration/Makefile

This file was deleted.

46 changes: 0 additions & 46 deletions integration/compose.yaml

This file was deleted.