Skip to content

Commit d1a648d

Browse files
authored
Merge branch 'main' into jupinzer/docker_compose_detector
2 parents 382480d + b16ab9e commit d1a648d

1 file changed

Lines changed: 35 additions & 31 deletions

File tree

.github/workflows/smoke-test.yml

Lines changed: 35 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@ on:
88
branches:
99
- main
1010
pull_request:
11+
paths:
12+
- "src/**"
13+
- "Directory.Build.props"
14+
- "Directory.Build.targets"
15+
- "Directory.Packages.props"
16+
- "global.json"
17+
- ".github/workflows/smoke-test.yml"
1118
schedule:
1219
- cron: "0 0 * * *" # every day at midnight
1320

@@ -16,28 +23,9 @@ permissions:
1623

1724
jobs:
1825
smoke-test:
19-
if: github.repository == 'microsoft/component-detection'
26+
if: github.repository == 'microsoft/component-detection' && (github.event_name != 'pull_request' || github.event.pull_request.draft == false)
2027
runs-on: ["self-hosted", "1ES.Pool=1ES-OSE-GH-Pool"]
21-
strategy:
22-
matrix:
23-
language:
24-
[
25-
{ name: "CocoaPods", repo: "realm/realm-swift" },
26-
{ name: "Gradle", repo: "microsoft/ApplicationInsights-Java" },
27-
{ name: "Go", repo: "kubernetes/kubernetes" },
28-
{ name: "Maven", repo: "apache/kafka" },
29-
{ name: "NPM", repo: "axios/axios" },
30-
{ name: "NuGet", repo: "Radarr/Radarr" },
31-
{ name: "Pip", repo: "django/django" },
32-
{ name: "Pnpm", repo: "pnpm/pnpm" },
33-
{ name: "Poetry", repo: "Textualize/rich" },
34-
{ name: "Ruby", repo: "rails/rails" },
35-
{ name: "Rust", repo: "alacritty/alacritty" },
36-
{ name: "Yarn", repo: "gatsbyjs/gatsby" },
37-
]
38-
fail-fast: false
39-
max-parallel: 4 # limit the total number of running jobs to avoid rate limiting
40-
name: ${{ matrix.language.name }}
28+
name: Smoke Test
4129
steps:
4230
- name: Harden Runner
4331
uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
@@ -67,23 +55,39 @@ jobs:
6755
sudo chmod 777 /usr/share/ant/lib
6856
curl https://downloads.apache.org/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz | tar xOz apache-ivy-2.5.2/ivy-2.5.2.jar > /usr/share/ant/lib/ivy.jar
6957
70-
- name: Checkout Smoke Test Repo
71-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
72-
with:
73-
persist-credentials: false
74-
repository: ${{ matrix.language.repo }}
75-
path: smoke-test-repo
58+
- name: Checkout Smoke Test Repos
59+
run: |
60+
mkdir -p smoke-test-repos
61+
repos=(
62+
"realm/realm-swift" # CocoaPods
63+
"microsoft/ApplicationInsights-Java" # Gradle
64+
"kubernetes/kubernetes" # Go
65+
"apache/kafka" # Maven
66+
"axios/axios" # NPM
67+
"Radarr/Radarr" # NuGet
68+
"django/django" # Pip
69+
"pnpm/pnpm" # Pnpm
70+
"Textualize/rich" # Poetry
71+
"rails/rails" # Ruby
72+
"alacritty/alacritty" # Rust
73+
"gatsbyjs/gatsby" # Yarn
74+
)
75+
for repo in "${repos[@]}"; do
76+
dir="smoke-test-repos/$(basename "$repo")"
77+
echo "Cloning $repo into $dir..."
78+
git clone --depth 1 "https://github.com/$repo.git" "$dir"
79+
done
7680
7781
- name: Restore Smoke Test NuGet Packages
78-
if: ${{ matrix.language.name == 'NuGet'}}
79-
working-directory: smoke-test-repo/src
82+
working-directory: smoke-test-repos/Radarr/src
8083
run: dotnet restore
8184

8285
- name: Run Smoke Test
8386
working-directory: src/Microsoft.ComponentDetection
8487
run: |
85-
for i in $(seq 1 10); do
86-
dotnet run -c Release -- scan --SourceDirectory ${{ github.workspace }}/smoke-test-repo --Verbosity Verbose || exit 1
88+
ITERATIONS=${{ github.event_name == 'schedule' && 10 || 1 }}
89+
for i in $(seq 1 $ITERATIONS); do
90+
dotnet run -c Release -- scan --SourceDirectory ${{ github.workspace }}/smoke-test-repos --Verbosity Verbose || exit 1
8791
done
8892
8993
create-issue:

0 commit comments

Comments
 (0)