From bf18965ba674389f454f9df047a10b586b029658 Mon Sep 17 00:00:00 2001 From: Eric Cornelissen Date: Thu, 21 Dec 2023 22:46:05 +0100 Subject: [PATCH] Use concurrency groups to reduce ci load of fuzzing Use a workflow concurrency group to limit fuzzing to one target at the time. Additionally, use a job concurrency group for no-shell to only run one of the no-shell fuzz jobs at the time. --- .github/workflows/fuzz-bash.yml | 4 ++++ .github/workflows/fuzz-cmd.yml | 6 +++++- .github/workflows/fuzz-csh.yml | 6 +++++- .github/workflows/fuzz-dash.yml | 6 +++++- .github/workflows/fuzz-no-shell.yml | 12 +++++++++++- .github/workflows/fuzz-powershell.yml | 6 +++++- .github/workflows/fuzz-zsh.yml | 6 +++++- 7 files changed, 40 insertions(+), 6 deletions(-) diff --git a/.github/workflows/fuzz-bash.yml b/.github/workflows/fuzz-bash.yml index 6e8043504..e80f3ee65 100644 --- a/.github/workflows/fuzz-bash.yml +++ b/.github/workflows/fuzz-bash.yml @@ -20,6 +20,10 @@ on: permissions: read-all +concurrency: + group: fuzz + cancel-in-progress: false + jobs: fuzz: name: Fuzz diff --git a/.github/workflows/fuzz-cmd.yml b/.github/workflows/fuzz-cmd.yml index 86076f427..9ecac66bc 100644 --- a/.github/workflows/fuzz-cmd.yml +++ b/.github/workflows/fuzz-cmd.yml @@ -15,11 +15,15 @@ on: branches: - main schedule: - - cron: "5 2 * * *" + - cron: "0 2 * * *" workflow_dispatch: ~ permissions: read-all +concurrency: + group: fuzz + cancel-in-progress: false + jobs: fuzz: name: Fuzz diff --git a/.github/workflows/fuzz-csh.yml b/.github/workflows/fuzz-csh.yml index f5ce9a4cf..05f5f49cd 100644 --- a/.github/workflows/fuzz-csh.yml +++ b/.github/workflows/fuzz-csh.yml @@ -15,11 +15,15 @@ on: branches: - main schedule: - - cron: "10 2 * * *" + - cron: "0 2 * * *" workflow_dispatch: ~ permissions: read-all +concurrency: + group: fuzz + cancel-in-progress: false + jobs: fuzz: name: Fuzz diff --git a/.github/workflows/fuzz-dash.yml b/.github/workflows/fuzz-dash.yml index 03820155d..cfa7442f5 100644 --- a/.github/workflows/fuzz-dash.yml +++ b/.github/workflows/fuzz-dash.yml @@ -15,11 +15,15 @@ on: branches: - main schedule: - - cron: "15 2 * * *" + - cron: "0 2 * * *" workflow_dispatch: ~ permissions: read-all +concurrency: + group: fuzz + cancel-in-progress: false + jobs: fuzz: name: Fuzz diff --git a/.github/workflows/fuzz-no-shell.yml b/.github/workflows/fuzz-no-shell.yml index 7c3676c03..4f37032a4 100644 --- a/.github/workflows/fuzz-no-shell.yml +++ b/.github/workflows/fuzz-no-shell.yml @@ -17,15 +17,22 @@ on: branches: - main schedule: - - cron: "25 2 * * *" + - cron: "0 2 * * *" workflow_dispatch: ~ permissions: read-all +concurrency: + group: fuzz + cancel-in-progress: false + jobs: fuzz-unix: name: Fuzz Unix uses: ericcornelissen/shescape/.github/workflows/reusable-fuzz.yml@main + concurrency: + group: fuzz-no-shell + cancel-in-progress: false with: duration: 600 # seconds == 10 minutes os: ubuntu-22.04 @@ -34,6 +41,9 @@ jobs: fuzz-windows: name: Fuzz Windows uses: ericcornelissen/shescape/.github/workflows/reusable-fuzz.yml@main + concurrency: + group: fuzz-no-shell + cancel-in-progress: false with: duration: 600 # seconds == 10 minutes os: windows-2022 diff --git a/.github/workflows/fuzz-powershell.yml b/.github/workflows/fuzz-powershell.yml index 0fcd657c8..49ed2152d 100644 --- a/.github/workflows/fuzz-powershell.yml +++ b/.github/workflows/fuzz-powershell.yml @@ -15,11 +15,15 @@ on: branches: - main schedule: - - cron: "20 2 * * *" + - cron: "0 2 * * *" workflow_dispatch: ~ permissions: read-all +concurrency: + group: fuzz + cancel-in-progress: false + jobs: fuzz: name: Fuzz diff --git a/.github/workflows/fuzz-zsh.yml b/.github/workflows/fuzz-zsh.yml index aca12d4f7..d8d5cfbd4 100644 --- a/.github/workflows/fuzz-zsh.yml +++ b/.github/workflows/fuzz-zsh.yml @@ -15,11 +15,15 @@ on: branches: - main schedule: - - cron: "30 2 * * *" + - cron: "0 2 * * *" workflow_dispatch: ~ permissions: read-all +concurrency: + group: fuzz + cancel-in-progress: false + jobs: fuzz: name: Fuzz