Skip to content

Commit ff8b890

Browse files
authored
Merge PR #26: delegate automatic CI to Jenkins
Move automatic CI and tests entirely to Jenkins
2 parents 36075da + b15db5b commit ff8b890

16 files changed

Lines changed: 90 additions & 857 deletions

‎.github/CI_POLICY.md‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# GitHub Actions policy — Jenkins is the CI authority
2+
3+
This fork deliberately delegates automatic builds, tests, lint, security audits,
4+
soak tests, benchmarks, and release qualification to **Jenkins**.
5+
6+
GitHub-hosted workflows must use **only** `workflow_dispatch` (operator-initiated)
7+
or `workflow_call` (reusable by a manually dispatched workflow) as events.
8+
No `push`, `pull_request`, `pull_request_target`, `schedule`, `issues`,
9+
`workflow_run`, or other automatic Actions events are allowed.
10+
11+
* Jenkins' `Jenkinsfile` runs `scripts/ci/check-github-actions-policy.py`.
12+
* The GitHub release/promotion workflows are retained as **manual-only**
13+
fallback/publishing operations. They can consume Actions minutes when started.
14+
* CodeQL, GitHub Pages, smoke/soak and repro workflows remain manual-only;
15+
GitHub Pages will **not** update automatically after merges.
16+
* The cost-intensive PR matrix and weekly test-impact artifact producer have
17+
been removed. Use Jenkins for automatic PR checks and qualification evidence.
18+
* Upstream merges may reintroduce workflows: adapt or remove their triggers
19+
before accepting a synchronization PR. This policy is part of the release gate.
20+
* No GitHub Actions workflow should be used for automatic upstream synchronization.
21+
Monitoring may be external; any proposed integration remains a reviewable PR.
22+
23+
To eliminate even manual GitHub Actions usage, disable Actions in the repository's
24+
**Settings → Actions → General**; that also disables the manual release and
25+
Pages deployment workflows.

‎.github/workflows/cache-warm.yml‎

Lines changed: 0 additions & 123 deletions
This file was deleted.

‎.github/workflows/codeql.yml‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
name: CodeQL SAST
22

3+
# Security scanning is available only on explicit operator request.
4+
# Jenkins owns automatic builds, tests and security checks.
35
on:
4-
push:
5-
branches: [main]
6-
pull_request:
7-
branches: [main]
6+
workflow_dispatch:
87

98
permissions:
109
contents: read

‎.github/workflows/fast-repro.yml‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# 5-platform ASan board. The full bug-repro.yml board remains the comprehensive
44
# all-platform check; this is just the fast inner loop.
55
#
6-
# Trigger: workflow_dispatch, or push to a qa/fast-** branch. Non-gating.
6+
# Trigger: manual workflow_dispatch only. Jenkins owns automated testing.
77
name: Fast Repro
88

99
on:
@@ -13,8 +13,6 @@ on:
1313
description: 'Comma list of suite-name substrings to run (empty = all)'
1414
type: string
1515
default: ''
16-
push:
17-
branches: ['qa/fast-**']
1816

1917
permissions:
2018
contents: read

‎.github/workflows/issue-labeler.yml‎

Lines changed: 0 additions & 59 deletions
This file was deleted.

‎.github/workflows/label-actions.yml‎

Lines changed: 0 additions & 21 deletions
This file was deleted.

‎.github/workflows/nightly-soak.yml‎

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
1-
# Soak dispatcher — the weekly scheduled soak AND every on-demand soak run.
1+
# Soak dispatcher — explicitly requested runs only (no scheduled runs).
22
#
33
# Absorbs the retired soak.yml (the standalone "multi-hour #581" workflow): its
44
# reasons to exist — a job budget that actually covers a 4h run, and the
55
# query-leak mode that never reindexes so the #581 leak can accumulate — are
66
# now _soak.yml facts (timeout 560, legs input). A long #581-only run is
77
# `legs: query-leak` here, not a separate workflow with its own copy of the
8-
# soak procedure. NON-GATING: never a required check, never blocks a merge.
8+
# soak procedure. NON-GATING: manually dispatched only; Jenkins owns automated soak.
99
name: Nightly Soak
1010

1111
on:
12-
schedule:
13-
- cron: '0 2 * * 0' # Every Sunday at 2am UTC
1412
workflow_dispatch:
1513
inputs:
1614
duration_minutes:
@@ -26,10 +24,6 @@ on:
2624
description: 'Also run the 15-min ASan soak legs'
2725
type: boolean
2826
default: true
29-
# Iteration convenience carried over from soak.yml: pushing a qa/soak-**
30-
# branch starts a real run from that branch's own copy of the workflows.
31-
push:
32-
branches: ['qa/soak-**']
3327

3428
permissions:
3529
contents: read
@@ -39,7 +33,7 @@ jobs:
3933
# budget instead of a fixed count. NON-GATING like the soak; a crash uploads
4034
# its reproducer, which becomes a fixed-seed regression input once fixed.
4135
fuzz:
42-
if: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
36+
if: ${{ github.event_name == 'workflow_dispatch' }}
4337
runs-on: ubuntu-latest
4438
timeout-minutes: 120
4539
steps:
@@ -59,8 +53,7 @@ jobs:
5953
soak:
6054
uses: ./.github/workflows/_soak.yml
6155
with:
62-
# On schedule/push events the inputs context is empty — fall back to the
63-
# weekly defaults (4h, both legs, ASan on).
56+
# Values come only from manual workflow_dispatch input.
6457
duration_minutes: ${{ inputs.duration_minutes || 240 }}
6558
legs: ${{ inputs.legs || 'quick,query-leak' }}
66-
run_asan: ${{ github.event_name != 'workflow_dispatch' || inputs.run_asan }}
59+
run_asan: ${{ inputs.run_asan }}

‎.github/workflows/pages.yml‎

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,6 @@
1111
name: Deploy Pages
1212

1313
on:
14-
push:
15-
branches: [main]
16-
paths:
17-
- 'docs/**'
18-
- '.github/workflows/pages.yml'
1914
workflow_dispatch:
2015

2116
permissions:

‎.github/workflows/pr-acknowledgement.yml‎

Lines changed: 0 additions & 67 deletions
This file was deleted.

0 commit comments

Comments
 (0)