diff --git a/.gitea/actions/local-ci-build/action.yml b/.gitea/actions/local-ci-build/action.yml index d346f0f..6f15bde 100644 --- a/.gitea/actions/local-ci-build/action.yml +++ b/.gitea/actions/local-ci-build/action.yml @@ -98,7 +98,12 @@ inputs: default: '' artifact-retention-days: - description: 'Days to retain uploaded artifacts in Gitea.' + description: > + Deprecated / no-op. Artifacts are no longer uploaded to the Gitea + Actions store (that needs the github.com-hosted upload-artifact + action). They stay on the host under F:\CI\Artifacts and are aged + out by scripts/Invoke-RetentionPolicy.ps1. Kept for caller + back-compat. required: false default: '14' @@ -287,22 +292,34 @@ runs: [System.IO.File]::AppendAllText( $env:GITHUB_OUTPUT, "artifact-name=$artifactName`n", $utf8NoBom) - # ── Upload build artifacts on success ───────────────────────────────────── - - name: Upload artifacts + # ── Report artifact location ────────────────────────────────────────────── + # No actions/upload-artifact: that action's code is fetched from + # github.com (and v4 is GHES-incompatible, v3 deprecated). The runner + # host is single and its filesystem is shared across jobs, so the + # orchestrator's host-side collect dir IS the artifact handoff. + # Downstream jobs read F:\CI\Artifacts\{run_id}-{run_attempt}[-suffix] + # directly (see build-nsInnoUnp.yml release job). + - name: Report artifact location if: success() && inputs.skip-artifact != 'true' - uses: actions/upload-artifact@v3 - with: - name: ${{ steps.invoke-ci.outputs.artifact-name }} - path: ${{ steps.invoke-ci.outputs.artifact-path }} - retention-days: ${{ inputs.artifact-retention-days }} - if-no-files-found: error + shell: powershell + run: | + $p = '${{ steps.invoke-ci.outputs.artifact-path }}' + if (-not (Test-Path -LiteralPath $p) -or + -not (Get-ChildItem -Force -LiteralPath $p)) { + throw "no artifacts at $p" + } + Write-Host "Artifacts on host: $p" + Get-ChildItem -Recurse -File -LiteralPath $p | + ForEach-Object { Write-Host " $($_.FullName)" } - # ── Upload diagnostic logs on failure ───────────────────────────────────── - - name: Upload diagnostic logs on failure + - name: Report diagnostic log location on failure if: failure() - uses: actions/upload-artifact@v3 - with: - name: build-logs-${{ github.sha }} - path: ${{ steps.invoke-ci.outputs.artifact-path }}/*.log - retention-days: 3 - if-no-files-found: ignore + shell: powershell + run: | + $p = '${{ steps.invoke-ci.outputs.artifact-path }}' + if ($p -and (Test-Path -LiteralPath $p)) { + Write-Host "Diagnostic logs (if any) on host: $p" + Get-ChildItem -Recurse -File -Filter '*.log' -LiteralPath $p ` + -ErrorAction SilentlyContinue | + ForEach-Object { Write-Host " $($_.FullName)" } + }