88 lint :
99 runs-on : ubuntu-latest
1010 steps :
11- - uses : actions/checkout@v4
12- - uses : astral-sh/setup-uv@v3
13- - run : uv python install
14- - run : make dev
15- - run : make lint
16- - run : make fmt
11+ - name : Checkout code
12+ uses : actions/checkout@v4
13+
14+ - name : Setup UV
15+ uses : astral-sh/setup-uv@v3
16+
17+ - name : Install UV Python
18+ run : uv python install
19+
20+ - name : Setup development environment
21+ run : make dev
22+
23+ - name : Run linter
24+ run : make lint
25+
26+ - name : Format code
27+ run : make fmt
1728
1829 test :
1930 runs-on : ubuntu-latest
@@ -28,19 +39,31 @@ jobs:
2839 - " 3.12"
2940 - " 3.13"
3041 steps :
31- - uses : actions/checkout@v4
32- - uses : astral-sh/setup-uv@v3
33- - run : uv python install ${{ matrix.python-version }}
34- - run : make dev
35- - run : make test
42+ - name : Checkout code
43+ uses : actions/checkout@v4
44+
45+ - name : Setup UV
46+ uses : astral-sh/setup-uv@v3
47+
48+ - name : Install UV Python for matrix version
49+ run : uv python install ${{ matrix.python-version }}
50+
51+ - name : Setup development environment
52+ run : make dev
53+
54+ - name : Run tests
55+ run : make test
3656
3757 setup-integration-test :
3858 runs-on : ubuntu-latest
3959 outputs :
4060 versions : ${{ steps.versions.outputs.versions }}
4161 steps :
42- - uses : actions/checkout@v4
43- - id : versions
62+ - name : Checkout code
63+ uses : actions/checkout@v4
64+
65+ - name : Get integration versions
66+ id : versions
4467 working-directory : ./integration
4568 # 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"]).
4669 run : |
@@ -55,16 +78,28 @@ jobs:
5578 matrix :
5679 CONNECT_VERSION : ${{ fromJson(needs.setup-integration-test.outputs.versions) }}
5780 steps :
58- - uses : actions/checkout@v4
59- - uses : docker/setup-buildx-action@v3
81+ - name : Checkout code
82+ uses : actions/checkout@v4
83+
84+ - name : Setup Docker Buildx
85+ uses : docker/setup-buildx-action@v3
86+
6087 - name : Write Posit Connect license to disk
6188 run : echo "$CONNECT_LICENSE" > ./integration/license.lic
6289 env :
6390 CONNECT_LICENSE : ${{ secrets.CONNECT_LICENSE }}
64- - uses : astral-sh/setup-uv@v3
65- - run : uv python install
66- - run : make -C ./integration ${{ matrix.CONNECT_VERSION }}
67- - uses : actions/upload-artifact@v4
91+
92+ - name : Setup UV
93+ uses : astral-sh/setup-uv@v3
94+
95+ - name : Install UV Python
96+ run : uv python install
97+
98+ - name : Run integration tests for version
99+ run : make -C ./integration ${{ matrix.CONNECT_VERSION }}
100+
101+ - name : Upload integration test report
102+ uses : actions/upload-artifact@v4
68103 if : always()
69104 with :
70105 name : ${{ matrix.CONNECT_VERSION }} - Integration Test Report
@@ -78,10 +113,13 @@ jobs:
78113 pull-requests : write
79114 if : always()
80115 steps :
81- - uses : actions/download-artifact@v4
116+ - name : Download artifacts
117+ uses : actions/download-artifact@v4
82118 with :
83119 path : artifacts
84- - uses : EnricoMi/publish-unit-test-result-action@v2
120+
121+ - name : Publish integration test results
122+ uses : EnricoMi/publish-unit-test-result-action@v2
85123 with :
86124 check_name : integration-test-results
87125 comment_mode : off
@@ -91,8 +129,17 @@ jobs:
91129 build :
92130 runs-on : ubuntu-latest
93131 steps :
94- - uses : actions/checkout@v4
95- - uses : astral-sh/setup-uv@v3
96- - run : uv python install
97- - run : make dev
98- - run : make build
132+ - name : Checkout code
133+ uses : actions/checkout@v4
134+
135+ - name : Setup UV
136+ uses : astral-sh/setup-uv@v3
137+
138+ - name : Install UV Python
139+ run : uv python install
140+
141+ - name : Setup development environment
142+ run : make dev
143+
144+ - name : Build project
145+ run : make build
0 commit comments