Skip to content

Commit 8c06d3a

Browse files
committed
Optimize test workflow by removing unnecessary package manager installations
Only Package Handlers tests need all package managers installed since they test the fix functionality. Other test suites (Unit, Scan Repository, Scan Pull Request) don't need npm, Python, pipenv, poetry, Mono, dotnet, NuGet, Pnpm, Java, or Conan installations. This will significantly speed up test execution for non-Package Handler test suites.
1 parent 6b23a24 commit 8c06d3a

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

.github/workflows/test.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,58 +115,66 @@ jobs:
115115
${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}-
116116
${{ runner.os }}-go-
117117
118+
# Package managers are only needed for Package Handlers tests (fix functionality)
118119
- name: Install npm
120+
if: matrix.suite.package == 'packagehandlers'
119121
uses: actions/setup-node@v3
120122
with:
121123
node-version: "16"
122124

123125
- name: Setup Python3
126+
if: matrix.suite.package == 'packagehandlers'
124127
uses: actions/setup-python@v4
125128
with:
126129
python-version: "3.x"
127130

128131
- name: Install python components
132+
if: matrix.suite.package == 'packagehandlers'
129133
run: python -m pip install pipenv poetry
130134

131135
- name: Install Mono on macOS
136+
if: matrix.suite.package == 'packagehandlers' && runner.os == 'macOS'
132137
run: brew install mono
133-
if: runner.os == 'macOS'
134138

135139
- name: Install dotnet
140+
if: matrix.suite.package == 'packagehandlers'
136141
uses: actions/setup-dotnet@v4
137142
with:
138143
dotnet-version: "6.x"
139144

140145
- name: Install Mono on linux
141-
if: runner.os == 'Linux'
146+
if: matrix.suite.package == 'packagehandlers' && runner.os == 'Linux'
142147
run: |
143148
sudo apt-get update
144149
sudo apt-get install -y mono-devel
145150
146151
- name: Install NuGet on Linux
152+
if: matrix.suite.package == 'packagehandlers' && (runner.os == 'Linux' || runner.os == 'macOS')
147153
uses: nuget/setup-nuget@v2
148154
with:
149155
nuget-version: 6.11.0
150-
if: runner.os == 'Linux' || runner.os == 'macOS'
151156

152157
- uses: awalsh128/cache-apt-pkgs-action@latest
153-
if: runner.os == 'Linux'
158+
if: matrix.suite.package == 'packagehandlers' && runner.os == 'Linux'
154159
with:
155160
packages: apt-transport-https dirmngr gnupg ca-certificates
156161
version: 1.0
157162

158163
- name: Install Pnpm
164+
if: matrix.suite.package == 'packagehandlers'
159165
uses: pnpm/action-setup@v3
160166
with:
161167
version: 8
162168

163169
- name: Install Java
170+
if: matrix.suite.package == 'packagehandlers'
164171
uses: actions/setup-java@v4
165172
with:
166173
distribution: "adopt"
167174
java-version: "11"
168175

169176
- name: Install Conan
177+
if: matrix.suite.package == 'packagehandlers'
170178
run: |
171179
python -m pip install conan
172180
conan profile detect

0 commit comments

Comments
 (0)