Skip to content
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

revert: icu 76.1 package update as contains ABI breakage, bumps dependants that have already been built with new ABI #36864

Merged
merged 3 commits into from
Dec 13, 2024

Conversation

rawlingsj
Copy link
Member

@rawlingsj rawlingsj commented Dec 13, 2024

see #35274

package update check is expected to fail as we are rolling back an update.

…dants that have already been built with new ABI

see wolfi-dev#35274

Signed-off-by: James Rawlings <jrawlings@chainguard.dev>
xnox
xnox previously approved these changes Dec 13, 2024
@xnox
Copy link
Member

xnox commented Dec 13, 2024

Also likely want to withdraw 76.1 APKs

@octo-sts octo-sts bot added the bincapz/pass bincapz/pass Bincapz (aka. malcontent) scan didn't detect any CRITICALs on the scanned packages. label Dec 13, 2024
@rawlingsj
Copy link
Member Author

Also likely want to withdraw 76.1 APKs

yeah lemme push another commit to this PR

Copy link
Contributor

octo-sts bot commented Dec 13, 2024

Gen AI suggestions to solve the build error:

• Detected Error: "HTTP request sent, awaiting response... 503 Service Unavailable"

• Error Category: Fetch/Download

• Failure Point: Pipeline fetch step attempting to download ICU source code

• Root Cause Analysis: The GitHub release download URL is unavailable or incorrectly formed. This could be due to:

  1. GitHub rate limiting
  2. Temporary service disruption
  3. Incorrect release tag format in the URL

• Suggested Fix:

  1. Update the fetch URI to use the official ICU download mirror instead of GitHub:
  - uses: fetch
    with:
      uri: https://github.com/unicode-org/icu/releases/download/release-${{vars.dash-package-version}}/icu4c-${{vars.underscore-package-version}}-src.tgz

to:

  - uses: fetch
    with:
      uri: https://download.icu-project.org/files/icu4c/${{package.version}}/icu4c-${{vars.underscore-package-version}}-src.tgz

• Explanation:

  • The official ICU mirror is more reliable than GitHub releases
  • The ICU project maintains its own download infrastructure
  • This avoids GitHub API rate limits and service disruptions
  • The download URL format is more stable and consistent

• Additional Notes:

  • Keep the same SHA256 checksum as it's the same file
  • The official mirror typically has better availability
  • This is a common practice for high-traffic packages

• References:

Copy link
Contributor

octo-sts bot commented Dec 13, 2024

Gen AI suggestions to solve the build error:

• Detected Error: ```
Could not find requirements_lock.txt file matching specified Python version.
Specified python version: 3.13
Python versions with available requirement_lock.txt files: 3.9, 3.10, 3.11, 3.12


• Error Category: Configuration/Version

• Failure Point: Python version configuration during Bazel build initialization

• Root Cause Analysis: TensorFlow 2.18.0 does not yet support Python 3.13, as indicated by the missing requirements_lock.txt file for that version. The build system is configured to use Python 3.13 by default, but TensorFlow only supports up to Python 3.12 for this release.

• Suggested Fix:
1. Modify the environment section to explicitly set Python version:
```yaml
environment:
  environment:
    HERMETIC_PYTHON_VERSION: "3.12"
    USE_DEFAULT_PYTHON_LIB_PATH: 1
    # ... rest of environment variables
  1. Update python-3-dev dependency to specify Python 3.12:
environment:
  contents:
    packages:
      - python-3.12-dev  # Instead of python-3-dev
      # ... rest of packages

• Explanation: TensorFlow 2.18.0 has explicit version support up to Python 3.12 as shown in the requirements_lock.txt files. By forcing the build to use Python 3.12 instead of 3.13, we align with TensorFlow's supported Python versions.

• Additional Notes:

  • TensorFlow typically lags behind the latest Python releases to ensure stability
  • The build system defaults to latest Python if not specified
  • Python 3.13 support will likely come in future TensorFlow releases

• References:

Signed-off-by: James Rawlings <jrawlings@chainguard.dev>
maxgio92
maxgio92 previously approved these changes Dec 13, 2024
Copy link
Contributor

octo-sts bot commented Dec 13, 2024

Gen AI suggestions to solve the build error:

• Detected Error:

Could not find requirements_lock.txt file matching specified Python version.
Specified python version: 3.13
Python versions with available requirement_lock.txt files: 3.9, 3.10, 3.11, 3.12

• Error Category: Version/Configuration

• Failure Point: Python version compatibility check during Bazel build initialization

• Root Cause Analysis:
The build is attempting to use Python 3.13, but TensorFlow 2.18.0 only supports up to Python 3.12 according to the requirements lock files available in the repository.

• Suggested Fix:

  1. Update the environment section to use Python 3.12 instead of 3.13:
environment:
  contents:
    packages:
      - python-3.12-dev  # Instead of python-3-dev
  1. Add environment variable to explicitly set Python version:
  environment:
    HERMETIC_PYTHON_VERSION: "3.12"

• Explanation:
TensorFlow 2.18.0 has specific Python version requirements and maintains requirements lock files for supported versions. The error indicates that Python 3.13 is not yet supported. Using Python 3.12, which is the latest supported version, should resolve the build error.

• Additional Notes:

  • The changelog shows that this release was tested with NumPy 2.0 support but doesn't mention Python 3.13 support
  • It's recommended to use the latest supported Python version (3.12) until official support for 3.13 is added
  • The requirements lock files are used to ensure consistent dependency versions during build

• References:

Copy link
Member

@sil2100 sil2100 left a comment

Choose a reason for hiding this comment

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

LGTM

xnox
xnox previously approved these changes Dec 13, 2024
@maxgio92
Copy link
Member

Tensorflow build was complaining during Bazel build because the Python version in the hermetic environment was defaulted to the latest 3.13 while Tensworflow's Bazel workspace doesn't support a requirements_lock.txt for 3.13.

Copy link
Contributor

octo-sts bot commented Dec 13, 2024

Gen AI suggestions to solve the build error:

• Detected Error:

Could not find requirements_lock.txt file matching specified Python version.
Specified python version: 3.13
Python versions with available requirement_lock.txt files: 3.9, 3.10, 3.11, 3.12

• Error Category: Configuration/Version

• Failure Point: Python version configuration during Bazel build setup

• Root Cause Analysis: The build is trying to use Python 3.13, but TensorFlow 2.18.0 only supports up to Python 3.12 as indicated by the available requirements_lock.txt files.

• Suggested Fix:

  1. In the environment section of the pipeline, add:
  environment:
    HERMETIC_PYTHON_VERSION: "3.12"
  1. Update the py-versions data section to remove unsupported Python versions:
data:
  - name: py-versions
    items:
      3.10: "310"
      3.11: "311"
      3.12: "312"

• Explanation: TensorFlow 2.18.0 hasn't been tested or configured for Python 3.13 yet. By explicitly setting HERMETIC_PYTHON_VERSION to 3.12 and limiting the build to supported Python versions, we ensure compatibility with the available requirements lock files.

• Additional Notes:

  • The error occurs during the Bazel repository setup phase
  • Python 3.13 is too new for this TensorFlow version
  • The fix aligns with the package's documented support matrix
  • This matches the comment in the original yaml about upstream not providing lockfiles for versions > 3.12

• References:

…ment to 3.12

Signed-off-by: Massimiliano Giovagnoli <massimiliano.giovagnoli@chainguard.dev>
@xnox
Copy link
Member

xnox commented Dec 13, 2024

The builds are good; i cannot tell if they are out of order or not; we may need to bump/rebuild a few more things; but I would rather land this sooner than later. As a lot more things are currently broken; or can get more broken as things are landing.

@xnox xnox enabled auto-merge (squash) December 13, 2024 14:32
@xnox xnox merged commit e80634f into wolfi-dev:main Dec 13, 2024
10 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bincapz/pass bincapz/pass Bincapz (aka. malcontent) scan didn't detect any CRITICALs on the scanned packages.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants