mirror of
https://github.com/github/codeql-action.git
synced 2026-04-27 01:08:46 +00:00
107 lines
4.6 KiB
YAML
107 lines
4.6 KiB
YAML
# Workflow runs on main, on a release branch, and that were triggered as part of a merge group have
|
|
# already passed CI before being merged. Therefore if they fail, we should make sure that there
|
|
# wasn't a transient failure by rerunning the failed jobs once before investigating further.
|
|
name: Deflake
|
|
|
|
on:
|
|
workflow_run:
|
|
types: [completed]
|
|
# Exclude workflows that have significant side effects, like publishing releases. It's OK to
|
|
# retry CodeQL analysis.
|
|
workflows:
|
|
- Check Expected Release Files
|
|
- Code-Scanning config CLI tests
|
|
- CodeQL action
|
|
- Manual Check - go
|
|
- "PR Check - All-platform bundle"
|
|
- "PR Check - Analysis kinds"
|
|
- "PR Check - Analyze: 'ref' and 'sha' from inputs"
|
|
- "PR Check - autobuild-action"
|
|
- "PR Check - Autobuild direct tracing (custom working directory)"
|
|
- "PR Check - Autobuild working directory"
|
|
- "PR Check - Build mode autobuild"
|
|
- "PR Check - Build mode manual"
|
|
- "PR Check - Build mode none"
|
|
- "PR Check - Build mode rollback"
|
|
- "PR Check - Bundle: Caching checks"
|
|
- "PR Check - Bundle: From nightly"
|
|
- "PR Check - Bundle: From toolcache"
|
|
- "PR Check - Bundle: Zstandard checks"
|
|
- "PR Check - C/C\\+\\+: autoinstalling dependencies (Linux)"
|
|
- "PR Check - C/C\\+\\+: autoinstalling dependencies is skipped (macOS)"
|
|
- "PR Check - C/C\\+\\+: disabling autoinstalling dependencies (Linux)"
|
|
- "PR Check - Clean up database cluster directory"
|
|
- "PR Check - CodeQL Bundle All"
|
|
- "PR Check - Config export"
|
|
- "PR Check - Config input"
|
|
- "PR Check - Custom source root"
|
|
- "PR Check - Debug artifact upload"
|
|
- "PR Check - Debug artifacts after failure"
|
|
- "PR Check - Diagnostic export"
|
|
- "PR Check - Export file baseline information"
|
|
- "PR Check - Extractor ram and threads options test"
|
|
- "PR Check - Go: Custom queries"
|
|
- "PR Check - Go: diagnostic when Go is changed after init step"
|
|
- "PR Check - Go: diagnostic when `file` is not installed"
|
|
- "PR Check - Go: tracing with autobuilder step"
|
|
- "PR Check - Go: tracing with custom build steps"
|
|
- "PR Check - Go: tracing with legacy workflow"
|
|
- "PR Check - Go: workaround for indirect tracing"
|
|
- "PR Check - Job run UUID added to SARIF"
|
|
- "PR Check - Language aliases"
|
|
- "PR Check - Local CodeQL bundle"
|
|
- "PR Check - Multi-language repository"
|
|
- "PR Check - Overlay database init fallback"
|
|
- "PR Check - Packaging: Action input"
|
|
- "PR Check - Packaging: Config and input"
|
|
- "PR Check - Packaging: Config and input passed to the CLI"
|
|
- "PR Check - Packaging: Config file"
|
|
- "PR Check - Packaging: Download using registries"
|
|
- "PR Check - Proxy test"
|
|
- "PR Check - Remote config file"
|
|
- "PR Check - Resolve environment"
|
|
- "PR Check - RuboCop multi-language"
|
|
- "PR Check - Ruby analysis"
|
|
- "PR Check - Rust analysis"
|
|
- "PR Check - Split workflow"
|
|
- "PR Check - Start proxy"
|
|
- "PR Check - Submit SARIF after failure"
|
|
- "PR Check - Swift analysis using a custom build command"
|
|
- "PR Check - Swift analysis using autobuild"
|
|
- "PR Check - Test different uses of `upload-sarif`"
|
|
- "PR Check - Test unsetting environment variables"
|
|
- "PR Check - Upload-sarif: ref and sha from inputs"
|
|
- "PR Check - Use a custom `checkout_path`"
|
|
- PR Checks
|
|
- Query filters tests
|
|
- Test that the workaround for python 3.12 on windows works
|
|
|
|
jobs:
|
|
rerun-on-failure:
|
|
name: Rerun failed jobs
|
|
if: >-
|
|
github.event.workflow_run.conclusion == 'failure' &&
|
|
github.event.workflow_run.run_attempt == 1 &&
|
|
(
|
|
github.event.workflow_run.head_branch == 'main' ||
|
|
startsWith(github.event.workflow_run.head_branch, 'releases/') ||
|
|
github.event.workflow_run.event == 'merge_group'
|
|
)
|
|
runs-on: ubuntu-slim
|
|
permissions:
|
|
actions: write
|
|
steps:
|
|
- name: Rerun failed jobs in ${{ github.event.workflow_run.name }}
|
|
env:
|
|
GH_TOKEN: ${{ github.token }}
|
|
GH_REPO: ${{ github.repository }}
|
|
RUN_ID: ${{ github.event.workflow_run.id }}
|
|
RUN_NAME: ${{ github.event.workflow_run.name }}
|
|
RUN_URL: ${{ github.event.workflow_run.html_url }}
|
|
run: |
|
|
echo "Rerunning failed jobs for workflow run ${RUN_ID}"
|
|
gh run rerun "${RUN_ID}" --failed
|
|
echo "### Reran failed jobs :recycle:" >> "$GITHUB_STEP_SUMMARY"
|
|
echo "" >> "$GITHUB_STEP_SUMMARY"
|
|
echo "Workflow: [${RUN_NAME}](${RUN_URL})" >> "$GITHUB_STEP_SUMMARY"
|