Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 26 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,30 @@ after 1.0.

## [Unreleased]

## [0.7.0] - 2026-10-27

The action leaves Linux-only Docker behind and does more of the dotnet-tia check itself.

- **Runners:** it runs on Windows and macOS runners from the release's own checksummed binary.
- **Reports:** it fetches the pull request's dotnet-tia report and refuses one from the wrong
commit.
- **Misses:** `selection-misses` now does three new things:
- it ranks candidates by their failure history
- it matches failures in test projects the selection left out whole
- it keeps its section in the summary when hundreds of tests fail
- **Rules:** 15 new rules cover GitHub Actions, Docker and .NET failures.

**Two changes alter what existing users see:**
- A TRX report from a crashed test host now counts as a failure in `analyze` and `gate`. It used
to read as passing.
- A run cancelled by its concurrency group, or by losing its runner, is no longer
`generic-timeout`. A gate baseline that recorded one sees it under the new rule's fingerprint.

The new runner support has two limits:
- The action runs on Windows and macOS only from this release on, so pin `@v0.7.0` or later
there.
- Matching skipped projects needs `skippedProjects` from dotnet-tia 0.8 or later.

### Added

- **The action runs on Windows and macOS runners**
Expand Down Expand Up @@ -696,7 +720,8 @@ First tagged release. **Superseded — do not install it**: its assets are named
`cifail-0.1.0-alpha-*` while the tag is `v0.1.0`, so nothing that follows the
documented install instructions can find them. Fixed in 0.2.0.

[Unreleased]: https://github.com/SebHenn/ci-failure-intelligence/compare/v0.6.0...HEAD
[Unreleased]: https://github.com/SebHenn/ci-failure-intelligence/compare/v0.7.0...HEAD
[0.7.0]: https://github.com/SebHenn/ci-failure-intelligence/compare/v0.6.0...v0.7.0
[0.6.0]: https://github.com/SebHenn/ci-failure-intelligence/compare/v0.5.0...v0.6.0
[0.5.0]: https://github.com/SebHenn/ci-failure-intelligence/compare/v0.4.0...v0.5.0
[0.4.0]: https://github.com/SebHenn/ci-failure-intelligence/compare/v0.3.2...v0.4.0
Expand Down
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
the build if one does, because a second copy is how the 0.1.0/0.1.0-alpha split that
broke every install path got in.
-->
<Version>0.6.0</Version>
<Version>0.7.0</Version>

<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -357,14 +357,14 @@ prints one line naming what actually ran, first thing in its log and at the foot
summary:

```
cifail action v0.6.0 (SebHenn/ci-failure-intelligence@v1) | cifail 0.6.0 | image ghcr.io/sebhenn/cifail:0.6.0@sha256:…
cifail action v0.7.0 (SebHenn/ci-failure-intelligence@v1) | cifail 0.7.0 | image ghcr.io/sebhenn/cifail:0.7.0@sha256:…
```

If a fix listed in the [changelog](CHANGELOG.md) doesn't seem to be there, read that line
before anything else — it names the action build, the CLI inside it, and the exact image
digest your runner used (runners cache). The action runs the image built from its own
release, so one pin covers both: pin by version if you'd rather upgrade deliberately, and
`uses: SebHenn/ci-failure-intelligence@v0.6.0` runs `ghcr.io/sebhenn/cifail:0.6.0`.
`uses: SebHenn/ci-failure-intelligence@v0.7.0` runs `ghcr.io/sebhenn/cifail:0.7.0`.

Inputs: `log` (file, **directory or glob** to analyze), `mode` (`analyze`, the default, or
`gate`), `args` (extra flags, e.g. `--type node`), `image` (run a different image; by
Expand Down
3 changes: 2 additions & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ release from `main`**. Only the latest release is supported.

| Version | Supported |
| --- | --- |
| 0.6.x | ✅ |
| 0.7.x | ✅ |
| 0.6.x | ❌ — superseded |
| 0.5.x | ❌ — superseded |
| 0.4.x | ❌ — superseded |
| 0.3.x | ❌ — superseded |
Expand Down
2 changes: 1 addition & 1 deletion action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ runs:
# Which build of this action is running. `@v1` is a moving tag, so the ref a consumer
# wrote does not identify a build — this stamp does. Bumped with <Version> in
# Directory.Build.props and enforced by scripts/check-versions.sh, so it cannot drift.
CIFAIL_ACTION_VERSION: '0.6.0'
CIFAIL_ACTION_VERSION: '0.7.0'
# Empty for a local `uses: ./` checkout; that is reported as such rather than guessed.
CIFAIL_ACTION_REF: ${{ github.action_ref }}
CIFAIL_ACTION_REPO: ${{ github.action_repository }}
Expand Down
4 changes: 2 additions & 2 deletions deploy/helm/cifail/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ description: |
See deploy/README.md.
type: application
# Chart version; bump on chart changes.
version: 0.6.0
version: 0.7.0
# The cifail version this chart targets (image tag default).
# Must match <Version> in Directory.Build.props — scripts/check-versions.sh enforces this.
appVersion: "0.6.0"
appVersion: "0.7.0"
keywords:
- ci
- diagnostics
Expand Down
Loading