faf-taf-git 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,10 @@
1
+ version: 2
2
+ updates:
3
+ # Keeps workflow `uses:` pins current (e.g. Wolfe-Jam/faf-taf-git) so they
4
+ # don't drift behind new releases. Security alerts don't need this file.
5
+ - package-ecosystem: "github-actions"
6
+ directory: "/"
7
+ schedule:
8
+ interval: "monthly"
9
+ commit-message:
10
+ prefix: "ci"
@@ -15,10 +15,10 @@ jobs:
15
15
  contents: write
16
16
 
17
17
  steps:
18
- - uses: actions/checkout@v4
18
+ - uses: actions/checkout@v7
19
19
 
20
20
  - name: Setup Node.js
21
- uses: actions/setup-node@v4
21
+ uses: actions/setup-node@v7
22
22
  with:
23
23
  node-version: '24.x'
24
24
 
@@ -45,7 +45,7 @@ jobs:
45
45
  # ── R: RECEIPT ────────────────────────────────
46
46
  - name: 'R: Generate TAF Receipt'
47
47
  if: (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/main'
48
- uses: Wolfe-Jam/faf-taf-git@v2.1.1
48
+ uses: Wolfe-Jam/faf-taf-git@v2.3.1
49
49
  with:
50
50
  test-output-file: test-output.txt
51
51
  auto-commit: 'true'
@@ -6,6 +6,13 @@ on:
6
6
 
7
7
  jobs:
8
8
  claude-review:
9
+ # A Dependabot PR cannot read this repo's Actions secrets — GitHub withholds
10
+ # them from bot-authored runs — so the action fails its own env validation
11
+ # and the PR carries a red that says nothing about the change it proposes.
12
+ # Receipt (faf-cli, 2026-09-23): the last 8 human PRs all passed this
13
+ # workflow and both Dependabot PRs failed on that error alone. A dependency
14
+ # bump is Dependabot's diff to justify, not Claude's.
15
+ if: github.actor != 'dependabot[bot]'
9
16
  runs-on: ubuntu-latest
10
17
  permissions:
11
18
  contents: read
@@ -15,7 +22,7 @@ jobs:
15
22
 
16
23
  steps:
17
24
  - name: Checkout repository
18
- uses: actions/checkout@v4
25
+ uses: actions/checkout@v7
19
26
  with:
20
27
  fetch-depth: 1
21
28
 
@@ -23,7 +30,7 @@ jobs:
23
30
  id: claude-review
24
31
  uses: anthropics/claude-code-action@v1
25
32
  with:
26
- anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
33
+ claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
27
34
  plugin_marketplaces: 'https://github.com/anthropics/claude-code.git'
28
35
  plugins: 'code-review@claude-code-plugins'
29
36
  prompt: '/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}'
@@ -26,7 +26,7 @@ jobs:
26
26
  actions: read
27
27
  steps:
28
28
  - name: Checkout repository
29
- uses: actions/checkout@v4
29
+ uses: actions/checkout@v7
30
30
  with:
31
31
  fetch-depth: 1
32
32
 
@@ -34,6 +34,6 @@ jobs:
34
34
  id: claude
35
35
  uses: anthropics/claude-code-action@v1
36
36
  with:
37
- anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
37
+ claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
38
38
  additional_permissions: |
39
39
  actions: read
package/CHANGELOG.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <!-- faf: faf-taf-git | TypeScript | cli | A Test Receipt Printer for git -->
2
- <!-- faf: doc=changelog | latest=v2.3.0 | canonical=project.faf | family=TAF -->
2
+ <!-- faf: doc=changelog | latest=v2.4.0 | canonical=project.faf | family=TAF -->
3
3
 
4
4
  # Changelog
5
5
 
@@ -8,6 +8,22 @@ All notable changes to this project will be documented in this file.
8
8
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
9
9
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
10
10
 
11
+ ## [2.4.0] - 2026-10-29
12
+
13
+ JUnit XML parser: TAF now reads the report format most test runners can write, so Python, Rust, Go, Java and .NET projects get receipts with no conversion script.
14
+
15
+ ### Added
16
+ - **JUnit XML parser** (`parseJunitOutput`). Pass a JUnit XML report as `test-output-file`. Handles a `<testsuites>` root with or without totals, a single `<testsuite>`, nested suites (counted once), and suites with no counts (the `<testcase>` elements are counted). Failures and errors count as failed; skipped and disabled count as skipped. Tried first, because a report's captured stdout can hold another runner's summary line. Checked against a real pytest report: 202 passed, 4 skipped, the same as pytest printed.
17
+ - **`skipped` Action output.** The README listed it; the Action now sets it.
18
+
19
+ ### Changed
20
+ - **README rewritten in plain English**, with a recommended workflow: failed runs get a `FAILED` receipt (tests run with `continue-on-error`, then the job fails after the receipt), receipts on `main` only, one test run.
21
+ - CLI `--help` lists JUnit XML among the parsers.
22
+
23
+ ## [2.3.1] - 2026-09-15
24
+
25
+ Marketplace metadata — the GitHub Action's description is now under the Marketplace's 125-character limit (it was 153), so the listing can show its current name, **TAF — Testing AI Format**. No code change — same `dist/` as 2.3.0.
26
+
11
27
  ## [2.3.0] - 2026-09-14
12
28
 
13
29
  WJTTC parser — TAF now receipts a WJTTC run directly, no Jest shim. The Action now runs on `node24`.
package/CLAUDE.md CHANGED
@@ -14,9 +14,9 @@ Platform-agnostic CLI + GitHub Action for TAF updates
14
14
  - **Runtime:** Node.js
15
15
  - **Build:** TypeScript Compiler
16
16
  - **Package Manager:** npm
17
- - **Api Type:** REST
17
+ - **API:** REST
18
18
  - **Hosting:** npm Registry
19
- - **Cicd:** GitHub Actions
19
+ - **CI/CD:** GitHub Actions
20
20
  - **TargetUser:** developers
21
21
  - **CoreProblem:** understanding project
22
22
  - **MissionPurpose:** project documentation
@@ -34,5 +34,5 @@ Platform-agnostic CLI + GitHub Action for TAF updates
34
34
 
35
35
  ---
36
36
 
37
- *STATUS: BI-SYNC ACTIVE — 2026-06-17T12:16:31.736Z*
37
+ *STATUS: SYNC ACTIVE — 2026-10-29T21:20:15.784Z*
38
38
  <!-- faf:end -->