mirror of
https://github.com/rustfs/rustfs.git
synced 2026-10-02 05:14:35 +08:00
* fix(ci): restore mainline and scheduled test reliability * fix(ci): provide GitHub CLI for CPU acceptance * ci: provide Docker for CPU service acceptance * ci: provision Python and Docker for OIDC validation * ci: restore hosted runners for Docker validation * ci: use verified MinIO release packages for interop * ci: preserve host ownership of MinIO fixtures * fix(ci): correct diagnostic limits and isolate startup checks * test(connect): include object CLI failure details * test(readiness): initialize unavailable drive diagnostics
74 lines
2.8 KiB
YAML
74 lines
2.8 KiB
YAML
# Copyright 2024 RustFS Team
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
# Manual drill for the scheduled-failure alerting path (backlog#1149 ci-8).
|
|
#
|
|
# Forces a job failure and then runs .github/actions/schedule-failure-issue
|
|
# through the exact `needs` + `always() && contains(needs.*.result,
|
|
# 'failure')` wiring used by the real consumers (e2e-s3tests, mint, fuzz,
|
|
# performance-ab). Dispatch it twice to verify both the issue-creation and
|
|
# the dedupe-comment paths, then close the resulting
|
|
# "[scheduled-failure] Schedule Failure Alert Drill" issue in rustfs/backlog
|
|
# (the default target repository). Requires the BACKLOG_ISSUE_TOKEN secret
|
|
# (a token with issues:write on rustfs/backlog).
|
|
#
|
|
# The run itself is expected to end red (the forced failure); only the
|
|
# alert-on-failure job result matters.
|
|
|
|
# DISABLED. This workflow is switched off in the repository's Actions settings
|
|
# (state: disabled_manually) and does not run on any trigger, including its cron
|
|
# and workflow_dispatch. That state lives in GitHub's UI and is invisible when
|
|
# reading this file, which has already misled at least one audit — hence this
|
|
# banner. Re-enabling is a UI action; anyone doing so should first check that the
|
|
# workflow still matches the current CI layout. See rustfs/backlog#1603.
|
|
#
|
|
name: Schedule Failure Alert Drill
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
forced-failure:
|
|
name: Forced failure
|
|
runs-on: sm-standard-2
|
|
timeout-minutes: 5
|
|
steps:
|
|
- name: Fail on purpose
|
|
run: |
|
|
echo "Deliberate failure so alert-on-failure exercises the real consumer wiring."
|
|
exit 1
|
|
|
|
alert-on-failure:
|
|
name: Alert on scheduled failure
|
|
needs: [forced-failure]
|
|
# Mirrors the consumer wiring, minus the schedule-event guard (this
|
|
# workflow is dispatch-only by design).
|
|
if: always() && contains(needs.*.result, 'failure')
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
permissions:
|
|
contents: read
|
|
issues: write
|
|
steps:
|
|
- uses: actions/checkout@f548e57e544e1ff5a4c46bf1e1b8685f8e4a348a # v7
|
|
with:
|
|
persist-credentials: false
|
|
- name: Open or update failure-tracking issue
|
|
uses: ./.github/actions/schedule-failure-issue
|
|
with:
|
|
github-token: ${{ secrets.BACKLOG_ISSUE_TOKEN }}
|