Skip to content

upgrade rust to 1.85.0 #11295

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

Merged
merged 11 commits into from
Apr 24, 2025

Conversation

KavyaSree2610
Copy link
Contributor

@KavyaSree2610 KavyaSree2610 commented Dec 3, 2024

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?

  • Support multiple versions of rust
Change Log
  • Upgrade to 1.85.0 in newer spec
  • Drop unnecessary patches in rust
  • Remove expand-yaml-anchors tool in %check
  • Remove rust-demangler tool
  • Run tests as non root user in rust package
  • Skip some failing ci ptests
  • Pin dependent SPECS packages to build with rust 1.75
  • Build dependent SPECS-EXTENDED packages with rust newer version(1.85)
Does this affect the toolchain?

NO

Associated issues
Links to CVEs
Test Methodology
  • Local build successful
  • Pipeline build : 3.0.20250424-kkaitepalli-794727
    image
Siteproxy
@KavyaSree2610 KavyaSree2610 force-pushed the kkaitepalli/upgrade-rust branch from f1ac25a to c7fb2c2 Compare December 13, 2024 06:05
@KavyaSree2610 KavyaSree2610 marked this pull request as ready for review December 19, 2024 06:53
@KavyaSree2610 KavyaSree2610 requested a review from a team as a code owner December 19, 2024 06:53
@KavyaSree2610 KavyaSree2610 added the 3.0-dev PRs Destined for AzureLinux 3.0 label Dec 19, 2024
Copy link
Member

@mfrw mfrw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we please skip the failing tests, so that the pipeline is green.
Let's add a link where we skip to the FreeBSD forum to clarify on why are we even skiping :)

@KavyaSree2610 KavyaSree2610 requested a review from mfrw January 8, 2025 05:20
@KavyaSree2610 KavyaSree2610 changed the title upgrade rust to 1.83.0 upgrade rust to 1.85.0 Feb 24, 2025
@@ -71,23 +71,11 @@ programs using Influx data language.

%prep
%setup -q
%patch 2 -p1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potential for optimization but fine with me

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a good reason for continuing to use %setup and %patch here instead of changing to %autosetup?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated it to %autosetup

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I notice that you switched back away from %autosetup.

I don't mind this, because it keeps us closer to the OpenSUSE upstream, but I wanted to make sure that's intentional.

Copy link
Contributor

@Camelron Camelron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Copy link
Member

@mfrw mfrw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM :)
🥇

@KavyaSree2610 KavyaSree2610 force-pushed the kkaitepalli/upgrade-rust branch from d372d75 to 46c915c Compare March 17, 2025 17:26

Patch0: Remove_cannot_write_error_test.patch
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Patch0, 1: Re-verify if these fail in the pipeline. Both seem to have a similar issue (expect permission issues are revoking permissions with chmod, but the expected-to-fail commands still work)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If tests fail, let's make a judgement on who and decide whether we want to fix resp. need to make some changes, or whether we'd want to accept this

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test passed when run as non-root user


Patch0: Remove_cannot_write_error_test.patch
Patch1: Remove_leave_log_after_failure_test.patch
Patch2: Ignore_failing_ci_tests.patch
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's specify which CI tests fail and re-assess

Patch1: Remove_leave_log_after_failure_test.patch
Patch2: Ignore_failing_ci_tests.patch
Patch3: skip-failing-run-make-tests.patch
Patch4: Ignore-test-for-aarch64.patch
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

error: linker aarch64-linux-gnu-gcc not found. Let's assess whether this is expected to fail for Azure Linux or e.g. whether the linker binary would need to be renamed.

Side note: Let's add some documentation for all the patch files we add. This way it becomes clear why we did this

Patch0: Remove_cannot_write_error_test.patch
Patch1: Remove_leave_log_after_failure_test.patch
Patch2: Ignore_failing_ci_tests.patch
Patch3: skip-failing-run-make-tests.patch
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's document which of these are failing (three tests are failing) and re-assess.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

run-make tests passed when run as non-root user

Copy link
Contributor

@Camelron Camelron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In retrospect, we should get to the bottom of why these patches removing tests are required before proceeding.

@KavyaSree2610 KavyaSree2610 force-pushed the kkaitepalli/upgrade-rust branch from 648a89f to 46c915c Compare March 24, 2025 08:14
@KavyaSree2610 KavyaSree2610 force-pushed the kkaitepalli/upgrade-rust branch 3 times, most recently from ca87822 to f17dae5 Compare March 24, 2025 12:17
@@ -43,6 +43,7 @@ Patch1: disable-static-library.patch
# Fixed upstream in 1.195.0, https://github.com/influxdata/flux/pull/5484.
Patch2: fix-build-warnings.patch
Patch3: fix-unsigned-char.patch
Patch4: 0001-Fix-with-latest-rust.patch
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Please fix spacing.

@@ -71,23 +71,11 @@ programs using Influx data language.

%prep
%setup -q
%patch 2 -p1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I notice that you switched back away from %autosetup.

I don't mind this, because it keeps us closer to the OpenSUSE upstream, but I wanted to make sure that's intentional.

pushd libflux
tar -xf %{SOURCE1}
install -D %{SOURCE2} .cargo/config

patch -p2 < %{PATCH1}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like we're no longer applying PATCH1.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed it mistakenly, adding it again

@@ -93,6 +94,7 @@ patch -p2 <<EOF
}
EOF


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: remove extra blank line.

@KavyaSree2610 KavyaSree2610 force-pushed the kkaitepalli/upgrade-rust branch from 3e83972 to c1b4f6d Compare April 20, 2025 06:27
kavyasree added 6 commits April 20, 2025 12:06
@KavyaSree2610 KavyaSree2610 added the stable-release-shiproom PRs for consideration for stable shiproom label Apr 21, 2025
@KavyaSree2610 KavyaSree2610 force-pushed the kkaitepalli/upgrade-rust branch from 9fe9ef3 to 3a96e33 Compare April 22, 2025 07:53
kavyasree added 2 commits April 22, 2025 13:27
%define release_date 2023-11-16
%define stage0_version 1.74.0
%define release_date 2025-01-09
%define stage0_version 1.84.0
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the 1.74.0 version capable of building the 1.85 version?

Copy link
Contributor Author

@KavyaSree2610 KavyaSree2610 Apr 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the 1.74.0 version capable of building the 1.85 version?

No, it should be build with 1.84

@jslobodzian jslobodzian merged commit 4e55b13 into microsoft:3.0-dev Apr 24, 2025
16 checks passed
jslobodzian pushed a commit that referenced this pull request Apr 24, 2025
Co-authored-by: kavyasree <kkaitepalli@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.0-dev PRs Destined for AzureLinux 3.0 Packaging security specs-extended PR to fix SPECS-EXTENDED stable-release-shiproom PRs for consideration for stable shiproom Tools
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants