Skip to content

Conversation

@octo-sts
Copy link
Contributor

@octo-sts octo-sts bot commented Jul 14, 2025

Signed-off-by: wolfi-bot <121097084+wolfi-bot@users.noreply.github.com>
@octo-sts octo-sts bot added request-version-update request for a newer version of a package automated pr vulkan-loader labels Jul 14, 2025
@octo-sts
Copy link
Contributor Author

octo-sts bot commented Jul 14, 2025

🔄 Build Failed: Git Checkout Error

FAIL Expected commit 3e4363c94317e5974eeb423e9e7b3cb2491ac973 for v1.4.322, found 235d1d2cf617af03a2ecbf6e951287595138feda

Build Details

Category Details
Build System git
Failure Point git checkout step for Vulkan-Loader

Root Cause Analysis 🔍

The git checkout step failed because the expected commit hash for tag v1.4.322 does not match the actual commit hash retrieved from the repository. The package definition specifies commit 3e4363c94317e5974eeb423e9e7b3cb2491ac973 but the actual tag resolves to commit 235d1d2cf617af03a2ecbf6e951287595138feda.


🔍 Build failure fix suggestions

Found similar build failures that have been fixed in the past and analyzed them to suggest a fix:

Similar PRs with fixes

Suggested Changes

File: vulkan-loader.yaml

  • replace at line 25 (expected-commit parameter in git-checkout step)
    Original:
  expected-commit: 3e4363c94317e5974eeb423e9e7b3cb2491ac973

Replacement:

  expected-commit: 235d1d2cf617af03a2ecbf6e951287595138feda

Content:

Update expected-commit to match the actual commit hash for v1.4.322 tag
Click to expand fix analysis

Analysis

In analyzing the similar fixed build failures, I observe a consistent pattern where the expected commit hash in the git-checkout step doesn't match the actual commit hash that the tag resolves to in the repository. In both fixed examples, the solution was to update the expected-commit parameter to match the actual commit hash that the tag points to.

This mismatch can occur because:

  1. Git tags can point to different types of objects (commit objects, tag objects)
  2. Tags can be updated or changed in the upstream repository
  3. Annotated tags have their own hash distinct from the commit they point to

The current error for Vulkan-Loader shows the same pattern - the expected commit (3e4363c94317e5974eeb423e9e7b3cb2491ac973) doesn't match the actual commit (235d1d2cf617af03a2ecbf6e951287595138feda) for tag v1.4.322.

Click to expand fix explanation

Explanation

The build failure is occurring because the Melange YAML file for vulkan-loader specifies an expected commit hash (3e4363c94317e5974eeb423e9e7b3cb2491ac973) that doesn't match the actual commit hash (235d1d2cf617af03a2ecbf6e951287595138feda) that the v1.4.322 tag points to in the repository.

This mismatch can happen for several reasons:

  1. The tag might have been moved in the upstream repository to point to a different commit after the Melange YAML was created
  2. The tag in the repository might be an annotated tag (which has its own hash) rather than a lightweight tag
  3. The tag might have been force-updated by the upstream maintainers

The fix is straightforward - we need to update the expected-commit value in the git-checkout step to match the actual commit hash that the v1.4.322 tag resolves to. This ensures that the build system will successfully check out the correct version of the code.

This approach is consistent with how similar issues were resolved in the example fixes. In both cases, the solution was to update the expected-commit parameter to match the actual commit hash. Since Wolfi OS aims to keep packages up to date with upstream releases, accepting the new commit hash is appropriate as long as it corresponds to the correct version tag.

Click to expand alternative approaches

Alternative Approaches

  • Instead of updating the expected-commit, we could pin to a specific release version by using the commit hash directly instead of the tag. This would make the build more deterministic but would require manually updating the commit hash with each version bump.
  • We could modify the git-checkout step to automatically resolve annotated tags to their commit objects, eliminating the need for the expected-commit parameter. However, this would reduce the deterministic nature of the builds and potentially introduce security risks.
  • We could implement a verification step that compares the tag's contents rather than just the commit hash, allowing for a more flexible match while still ensuring the correct version is being built.

Was this comment helpful? Please use 👍 or 👎 reactions on this comment.

@octo-sts octo-sts bot added the ai/skip-comment Stop AI from commenting on PR label Jul 14, 2025
@AmberArcadia AmberArcadia self-assigned this Jul 16, 2025
@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 Jul 16, 2025
@AmberArcadia AmberArcadia requested a review from a team July 16, 2025 16:44
@powersj powersj merged commit 8def2bd into main Jul 16, 2025
18 checks passed
@powersj powersj deleted the wolfictl-11647d22-8abc-479b-8989-ef776dc0f3f0 branch July 16, 2025 20:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai/skip-comment Stop AI from commenting on PR automated pr bincapz/pass bincapz/pass Bincapz (aka. malcontent) scan didn't detect any CRITICALs on the scanned packages. manual/review-needed request-version-update request for a newer version of a package vulkan-loader

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants