Skip to content

[2.0] Update toolkit go version to 1.23, update dependency install scripts, add install-prereqs-and-configure target #14028

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

sameluch
Copy link
Contributor

@sameluch sameluch commented Jun 17, 2025

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

  • The toolchain has been rebuilt successfully (or no changes were made to it)
  • The toolchain/worker package manifests are up-to-date
  • Any updated packages successfully build (or no packages were changed)
  • Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
  • Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
  • All package sources are available
  • cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
  • LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
  • All source files have up-to-date hashes in the *.signatures.json files
  • sudo make go-tidy-all and sudo make go-test-coverage pass
  • Documentation has been updated to match any changes to the build system
  • Ready to merge

Summary

What does the PR accomplish, why was it needed?
Bump golang version in toolkit to 1.23. Additionally, update prerequisite scripts and docs to include the new flow of sudo make install-prereqs and sudo make install-prereqs-and-configure.

Change Log
  • Update gonum + deps, update to go-1.23.1
  • update ubuntu prereqs
  • Add options for additional configurations via prereq script (previously only in .md files)
  • pin go version for mariner
Does this affect the toolchain?

NO

Associated issues
Links to CVEs
Test Methodology
  • New Ubuntu 22.04 VM
    • fresh repo clone
    • run sudo make install-prereqs-and-configure -> sudo reboot
    • git checkout 2.0-stable -- resources/manifests/package/pkggen_core_x86_64.txt
    • git checkout 2.0-stable -- resources/manifests/package/toolchain_x86_64.txt
    • sudo make build-packages REBUILD_TOOLS=y SRPM_PACK_LIST=words -j100 REBUILD_TOOLCHAIN=n
  • New Azure Linux 3.0 VM
    • fresh repo clone
    • run sudo make install-prereqs-and-configure -> sudo reboot
    • git checkout 2.0-stable -- resources/manifests/package/pkggen_core_x86_64.txt
    • git checkout 2.0-stable -- resources/manifests/package/toolchain_x86_64.txt
    • sudo make build-packages REBUILD_TOOLS=y SRPM_PACK_LIST=words -j100 REBUILD_TOOLCHAIN=n
  • New Azure Linux 2.0 VM
    • fresh repo clone
    • run sudo make install-prereqs-and-configure -> sudo reboot
    • git checkout 2.0-stable -- resources/manifests/package/pkggen_core_x86_64.txt
    • git checkout 2.0-stable -- resources/manifests/package/toolchain_x86_64.txt
    • sudo make build-packages REBUILD_TOOLS=y SRPM_PACK_LIST=words -j100 REBUILD_TOOLCHAIN=n

Additional tests

  • with old golang version installed, install msft-golang overtop on 2.0 using make install-prereqs
  • rebuild tools using old golang version to get warning message box
    • executed on ubuntu, azurelinux 3.0, azurelinux 2.0
  • test downgrade to pinned version using older available golang package using make install-prereqs

@sameluch sameluch requested a review from a team as a code owner June 17, 2025 22:29
@microsoft-github-policy-service microsoft-github-policy-service bot added documentation Improvements or additions to documentation Tools main PR Destined for main labels Jun 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation main PR Destined for main Tools
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants