mirror of
https://github.com/OPCFoundation/UA-.NETStandard.git
synced 2026-10-17 05:11:13 +08:00
d623007a3f
# Description Removes the Azure Pipelines CI and package-publishing definitions from `master`. GitHub Actions already owns all CI and package publishing for `master`, but pushes to `master` still queued the Azure definitions. They duplicated the Actions work and posted failing checks, for example [`Nuget Preview (Push Nuget Preview Pack Nugets Debug)`](https://github.com/OPCFoundation/UA-.NETStandard/runs/109065914524) on `19dc504c5`. ## Removed - `azure-pipelines.yml`, `azure-pipelines-preview.yml` - `.azurepipelines/` templates: `ci.yml`, `coverage.yml`, `preview.yml`, `sample-ha-longhaul.yml`, `sln.yml`, `test.yml`, `test-aot.yml` - Helpers only those templates used: `get-matrix.ps1`, `get-root.ps1`, `evaluate-test-results.ps1` - `TrxGateScriptTests`: it tested only `evaluate-test-results.ps1`. The Actions equivalent, `.github/scripts/get-test-verdict.ps1`, keeps its own `CiTestVerdictTests`. ## Kept **OneFuzz:** `.azurepipelines/onefuzz.yml` stays. Submitting to the internal OneFuzz service needs the Azure DevOps-only `onefuzz-task`, which has no GitHub Actions equivalent. The pipeline has no push, PR or schedule trigger, so it never runs on `master` pushes. The public drop build keeps running in the GitHub `fuzz-public-drop` job. **Scripts GitHub Actions still invokes:** these stay in `.azurepipelines/`, so every workflow path and `release.yml`'s candidate-bound checkout keep working. Only `generate-slnx.ps1` changes, and only its comment. | Script | Used by | | --- | --- | | `set-version.ps1` | buildandtest, nightly, nuget-publish, docker-image, stress / stability / long-haul, `run-dotnet-tests` action | | `generate-slnx.ps1`, `signlist{Debug,Release}.txt`, `validate-source-generator-packages.ps1` (+ `expected-packages.txt`) | nuget-publish | | `package-version-policy.ps1`, `validate-nuget-package-set.ps1`, `validate-preview-package-ordering.ps1`, `assert-published-packages-match.ps1` | nuget-publish, release | | `check-coverage.ps1` | buildandtest, nightly | | `validate-migration-plugin.ps1` | buildandtest | I didn't rename the directory on purpose. `release.yml` checks out the candidate commit and runs `./.azurepipelines/package-version-policy.ps1` from it, so moving the scripts would break promotion of any candidate built before the move. ## Docs and comments - `UA.slnx` drops the deleted files. - `codecov.yml`, `coverage-thresholds.json`, `targets.props`, the Redundancy sample test comments, the `.github` scripts and workflows, `CONTRIBUTING.md`, `docs/` and `fuzzing/` no longer describe Azure as running on `master` (`/azp run`, the `azure` Codecov flag, "the Azure gate", the Azure long-haul and AoT legs). - In the Developer Guide, the "Triggering a pipeline run" and "Migration status" sections are replaced by "Pull requests from outside contributors" and "Azure Pipelines on other branches". - The new section names `onefuzz.yml` as the one remaining Azure definition. - It keeps the warning that the `Release` ruleset's Azure required check must be lifted before cutting a new `release/2.<minor>` branch. - `master` is merged in, including the #4555 docs rewrite. Its new `docs/RedundancySampleTests.md` needed the Azure references removed again. `docs/README.md` already had none. ## Reviewer notes - **Azure DevOps side (admin action, not in this PR):** the definitions are configured in the Azure DevOps portal. With the YAML gone, `master` pushes give the CI and preview definitions nothing to run. Disabling definition 14's push trigger/schedule, definition 16's build-completion trigger, and the stale definition 13 stops any residual "file not found" runs. Leave the OneFuzz definition enabled. - `master378`, the 1.x `release/*` lines and the frozen `release/2.0.0` keep their own `azure-pipelines.yml`. This PR only touches `master`. ## Related Issues - Follow-up to #4513 (GitHub Actions for CI and nightly). ## Checklist - [ ] I have signed the [CLA](https://opcfoundation.org/license/cla/ContributorLicenseAgreementv1.0.pdf) and read the [CONTRIBUTING](https://github.com/OPCFoundation/UA-.NETStandard/blob/master/CONTRIBUTING.md) doc. - [ ] I have added tests that prove my fix is effective or that my feature works and increased code coverage. - [x] I have added all necessary documentation. - [ ] I have verified that my changes do not introduce (new) build or analyzer warnings. - [ ] I ran **all** tests locally using the **UA.slnx** solution against at least .net **framework** and .net **10**, and all passed. - [ ] I fixed **all** failing and flaky tests in the CI pipelines and **all** CodeQL warnings. - [ ] I have addressed **all** PR feedback received. This PR removes a test and adds none. Locally, at `9b00da817`, the full `Opc.Ua.Tools.Tests` suite passed on net10.0: 884 passed, 1 skipped. The later commits (OneFuzz restore, merge with `master`) touch only YAML and docs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
58 lines
1.9 KiB
YAML
58 lines
1.9 KiB
YAML
# Codecov configuration
|
|
#
|
|
# Validate with:
|
|
# curl --data-binary @codecov.yml https://codecov.io/validate
|
|
#
|
|
# Codecov is REPORTING, not a gate. The enforced coverage rules live in
|
|
# coverage-thresholds.json and are applied by .azurepipelines/check-coverage.ps1
|
|
# inside the pipeline, where they can react to how much a patch actually
|
|
# changed. Codecov is kept for what it is genuinely better at: the pull-request
|
|
# comment, the file-by-file diff view and the coverage trend over time.
|
|
#
|
|
# Both status checks are therefore `informational: true`. They post a status so
|
|
# the number is visible, but they never fail and must never be added to the
|
|
# branch ruleset - two gates with two sets of thresholds would sooner or later
|
|
# disagree about the same pull request, and the one that is easier to silence
|
|
# would win. Flip `informational` to false only if you also retire the
|
|
# in-pipeline patch gate.
|
|
#
|
|
# The upload itself is optional and is skipped when the CODECOV_TOKEN secret
|
|
# is absent (as it is on fork pull requests). See `ENABLE_CODECOV` in
|
|
# .github/workflows/buildandtest.yml.
|
|
coverage:
|
|
precision: 2
|
|
round: down
|
|
status:
|
|
project:
|
|
default:
|
|
target: auto
|
|
threshold: 1%
|
|
informational: true
|
|
only_pulls: true
|
|
patch:
|
|
default:
|
|
target: 80%
|
|
threshold: 5%
|
|
informational: true
|
|
only_pulls: true
|
|
|
|
# Kept in step with the "ignore" list in coverage-thresholds.json so Codecov and
|
|
# the in-pipeline gate measure the same code. Change both together.
|
|
ignore:
|
|
- "tests/**"
|
|
- "samples/**"
|
|
- "**/obj/**"
|
|
- "**/bin/**"
|
|
- "**/*.g.cs"
|
|
|
|
# Each upload carries a flag (`actions`), and flags carry forward so a run that
|
|
# uploads fewer legs is not mistaken for a coverage swing.
|
|
flag_management:
|
|
default_rules:
|
|
carryforward: true
|
|
|
|
comment:
|
|
layout: "reach, diff, flags, files"
|
|
behavior: default
|
|
require_changes: false
|