Skip to content

Conversation

@NoaheCampbell
Copy link
Contributor

What this PR does / why we need it:

This PR generates ARM64 metadata files to support future ARM64 deployments

Does this PR require a test?

NONE

Does this PR require a release note?

NONE

Does this PR require documentation?

NONE

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Bug: False release success without metadata validation.

The validate-release-success job doesn't include upload-metadata in its dependencies. Since this PR adds ARM64 metadata generation and upload as a core release feature, the workflow could incorrectly report success even if metadata uploads fail. The job should depend on upload-metadata to ensure metadata files are successfully uploaded to both staging and production S3 buckets before marking the release as successful.

.github/workflows/release-prod.yaml#L676-L684

# this job will validate that all the tests passed
validate-release-success:
name: Validate success
runs-on: ubuntu-latest
needs:
- e2e
- e2e-docker
- release
- release-app

Fix in Cursor Fix in Web


- name: Generate ${{ matrix.arch }} metadata
run: |
mkdir -p build
CLUSTER_ARCH=${{ matrix.arch }} ./output/bin/embedded-cluster version metadata > build/metadata-${{ matrix.arch }}.json
Copy link

Choose a reason for hiding this comment

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

Bug: Mismatched Architecture SHA Corrupts ARM64 Metadata

The generate-metadata job downloads only the AMD64 binary but uses it to generate both AMD64 and ARM64 metadata by setting CLUSTER_ARCH. This causes the ARM64 metadata to contain the wrong K0sSHA value since goods.K0sBinarySHA256() reads the SHA from the embedded k0s binary in the AMD64 executable, not from an actual ARM64 binary. The ARM64 metadata will reference ARM64 artifact URLs but have an AMD64 k0s checksum, causing verification failures.

Fix in Cursor Fix in Web

@github-actions
Copy link

This PR has been released (on staging) and is available for download with a embedded-cluster-smoke-test-staging-app license ID.

Online Installer:

curl "https://staging.replicated.app/embedded/embedded-cluster-smoke-test-staging-app/ci/appver-dev-ae9da44" -H "Authorization: $EC_SMOKE_TEST_LICENSE_ID" -o embedded-cluster-smoke-test-staging-app-ci.tgz

Airgap Installer (may take a few minutes before the airgap bundle is built):

curl "https://staging.replicated.app/embedded/embedded-cluster-smoke-test-staging-app/ci-airgap/appver-dev-ae9da44?airgap=true" -H "Authorization: $EC_SMOKE_TEST_LICENSE_ID" -o embedded-cluster-smoke-test-staging-app-ci.tgz

Happy debugging!

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants