Skip to content

[repo-assist] ci: derive SDK version for dotnet-install.sh from global.json #4411

Description

@github-actions

Caution

Protected files were modified in this change.
This pull request is in request_review mode and requires explicit human scrutiny before merge.

Protected files: .github/workflows/ci.yml

🤖 This is an automated PR from Repo Assist.

What changed: The Linux CI job's "Install build SDK and integration test runtime" step hardcoded 9.0.309 when invoking dotnet-install.sh, duplicating the version already declared in global.json. This PR reads the SDK version from global.json via jq instead, so future SDK bumps only need to touch one file.

Why: global.json is the single source of truth for the SDK version used by setup-dotnet@v4 earlier in the same job. Keeping a second hardcoded copy risks drift (e.g. someone bumps global.json but forgets the CI script line, or vice versa) — a low-risk maintenance/engineering cleanup.

Trade-offs: Adds a dependency on jq being present on the ubuntu-latest runner, which it is by default (GitHub-hosted runners ship jq preinstalled).

Test Status

This is a CI-workflow-only change (no F#/build changes). Not run through dotnet test/build.sh since no source code was touched. Validated locally:

  • jq -r '.sdk.version' global.json correctly extracts 9.0.309 from the current global.json.
  • YAML structure otherwise unchanged (single shell-script line edited).

The change will be exercised for real on the next CI run of this PR, which will confirm the extracted version matches and the SDK install step still succeeds.

As always, human review before merge is appreciated — I never merge PRs myself.

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

Note

This was originally intended as a pull request, but the git push operation failed.

Original error: The process '/usr/bin/git' failed with exit code 1

Workflow Run: View run details and download bundle artifact

The bundle file is available in the agent artifact in the workflow run linked above.

Create the pull request manually
# Download the artifact from the workflow run
gh run download '33315175872' -n agent -D '/tmp/agent-33315175872'

# Resolve the bundle source ref, fetch it into a temporary ref, then create the local branch
bundle_path='/tmp/agent-33315175872/aw-repo-assist-eng-ci-sdk-version-dedupe-2026-08-29.bundle'
temp_ref='refs/bundles/create-pr-repo-assist-eng-ci-sdk-version-dedupe-2026-08-29-1be9782fa243305c-5b7683ca'
target_ref='refs/heads/repo-assist/eng-ci-sdk-version-dedupe-2026-08-29-1be9782fa243305c'
bundle_source_ref=$(git bundle list-heads "$bundle_path" | awk '$2 ~ /^refs\/heads\// { print $2 }')
if [ -z "$bundle_source_ref" ]; then
  bundle_source_ref=$(git bundle list-heads "$bundle_path" | awk '$2 == "HEAD" { print $2 }')
fi
if [ "$(printf '%s\n' "$bundle_source_ref" | sed '/^$/d' | wc -l | tr -d ' ')" != "1" ]; then
  echo "Expected exactly one bundle source ref, found: $bundle_source_ref" >&2
  exit 1
fi
git fetch "$bundle_path" "${bundle_source_ref}:${temp_ref}"
git update-ref "$target_ref" "$temp_ref"
git checkout 'repo-assist/eng-ci-sdk-version-dedupe-2026-08-29-1be9782fa243305c'
# Ensure the working tree matches the updated branch
git reset --hard
# Remove the temporary bundle ref
git update-ref -d "$temp_ref"

# Push the branch to the target remote
git push 'origin' 'repo-assist/eng-ci-sdk-version-dedupe-2026-08-29-1be9782fa243305c'

# Create the pull request
gh pr create --title '[repo-assist] ci: derive SDK version for dotnet-install.sh from global.json' --base 'master' --head 'repo-assist/eng-ci-sdk-version-dedupe-2026-08-29-1be9782fa243305c' --repo 'fsprojects/Paket'

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions