fsprojects / fsprojects/Paket

[repo-assist] Flaky scriptgen integration test scenarios resolve against live NuGet feed (no committed paket.lock)

Open
#4,401 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

automation bug build repo-assist
Dominant language
F#
Stars
2.1k
Forks
528
Avg merge
1d 12m
Merged PRs (30d)
54

Description

Context

PR #4395 added a linux-integration-scriptgen CI job. It has been failing intermittently, e.g.:

Failed simple dependencies generates expected scripts
ERR: DirectoryNotFoundException: Could not find a part of the path
".../loading-scripts/simple-dependencies/temp/packages/NUnit/lib/nunit.framework.dll"

Other scriptgen tests in the same run also failed (fslab generates expected load of package loader script, issue 1676 casing, mscorlib excluded from f# script), including one case where FSharp.Core 11.0.100 was unlisted upstream.

Root cause

The scenario fixtures under integrationtests/scenarios/loading-scripts/{simple-dependencies,fslab,issue-1676,mscorlib}/before/ only contain a paket.dependencies file — there is no committed paket.lock. Each CI run therefore performs a live dependency resolution against nuget.org, so results (and even which NUnit/FSharp.Core version gets resolved) can vary run-to-run as upstream packages are updated, unlisted, or restructured. This is test-infrastructure flakiness, not a Paket regression, and mirrors the broader flakiness already tracked in #4346.

Immediate mitigation

As requested, I marked the linux-integration-scriptgen job as continue-on-error: true in .github/workflows/ci.yml (pushed to PR #4395) so it no longer blocks merges while remaining visible for maintainers to observe.

Suggested follow-up

  • Add committed paket.lock files to each affected scenario's before/ directory so resolution is deterministic and doesn't depend on live feed state.
  • Once deterministic, remove continue-on-error from the job so it becomes a required, reliable check again.

This issue was opened automatically by Repo Assist, an AI assistant, per instructions on PR #4395.
Related to #4395

Generated by 🌈 Repo Assist, see workflow run. Learn more.
Comment /repo-assist to run again

Add this agentic workflow to your repo

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/repo-assist.md@ae8d551f07c7ed7619f8c58c7bb4c3ac89395d38

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect the before/ directories for simple-dependencies, fslab, issue-1676, and mscorlib under integrationtests/scenarios/loading-scripts, then review .github/workflows/ci.yml. First reproduce or inspect the linux-integration-scriptgen scenarios and generate committed paket.lock files for each fixture. Done means dependency resolution is deterministic and continue-on-error is removed from the job.

Written by the indexing model from the issue text.

Assessment

Tech stack
fsharp, github-actions
Domain
ci-cd, testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.