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

feat(ci): publish ARM macOS builds #22140

Merged
merged 12 commits into from
Jan 8, 2025
Merged

feat(ci): publish ARM macOS builds #22140

merged 12 commits into from
Jan 8, 2025

Conversation

pront
Copy link
Member

@pront pront commented Jan 7, 2025

Summary

Follow up to #22134.
We now have access to a GitHub runner which can produce ARM executables.

Change Type

  • Bug fix
  • New feature
  • Non-functional (chore, refactoring, docs)
  • Performance

Is this a breaking change?

  • Yes
  • No

How did you test this PR?

Does this PR include user facing changes?

  • Yes. Please add a changelog fragment based on our guidelines.
  • No. A maintainer will apply the "no-changelog" label to this PR.

Checklist

  • Please read our Vector contributor resources.
  • If this PR introduces changes Vector dependencies (modifies Cargo.lock), please
    run dd-rust-license-tool write to regenerate the license inventory and commit the changes (if any). More details here.

References

Ref:

@pront pront requested a review from a team as a code owner January 7, 2025 20:19
@pront pront added the no-changelog Changes in this PR do not need user-facing explanations in the release changelog label Jan 7, 2025
@pront pront requested a review from jszwedko January 7, 2025 20:25
@datadog-vectordotdev
Copy link

datadog-vectordotdev bot commented Jan 7, 2025

Datadog Report

Branch report: pront/feat-arm-macos-builds
Commit report: 1a83c47
Test service: vector

✅ 0 Failed, 7 Passed, 0 Skipped, 25.43s Total Time

Copy link
Member

@jszwedko jszwedko left a comment

Choose a reason for hiding this comment

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

Big 👍 to adding arm Mac builds. People have been asking for these for a while. I think you can run the "Custom Build" workflow (supports workflow_dispatch) with this branch to test before merging.

Additionally, we'll need to update:

  • The homebrew formula to support both architectures
  • Maybe distribution/install.sh to choose the correct architecture?
  • The website to include a link to the arm artifacts for new releases

We could do that after this is merged though.

.github/workflows/publish.yml Outdated Show resolved Hide resolved
.github/workflows/publish.yml Outdated Show resolved Hide resolved
.github/workflows/publish.yml Outdated Show resolved Hide resolved
@pront
Copy link
Member Author

pront commented Jan 7, 2025

Additionally, we'll need to update:

  • The homebrew formula to support both architectures
  • Maybe distribution/install.sh to choose the correct architecture?
  • The website to include a link to the arm artifacts for new releases

We could do that after this is merged though.

Awesome, I will update these tomorrow.

@@ -605,6 +630,11 @@ jobs:
with:
name: vector-${{ env.VECTOR_VERSION }}-x86_64-apple-darwin
path: target/artifacts
- name: Download staged package artifacts (arm64-apple-darwin)
Copy link
Member Author

@pront pront Jan 8, 2025

Choose a reason for hiding this comment

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

Note: All these jobs are repetitive. They would benefit from a download-artifacts job. But that is too big of change for this PR. I will follow-up in another PR.

@github-actions github-actions bot added the domain: releasing Anything related to releasing Vector label Jan 8, 2025
Copy link
Member

@jszwedko jszwedko left a comment

Choose a reason for hiding this comment

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

Nice! Looks good to me now assuming the Custom Build workflow executes successfully. Could we run than on this branch before merging?

x86_64-*linux*-gnu)
_archive_arch="x86_64-unknown-linux-gnu"
;;
x86_64-*linux*-musl)
_archive_arch="x86_64-unknown-linux-musl"
;;
aarch64-apple-darwin)
Copy link
Member

Choose a reason for hiding this comment

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

Nice 👍

@pront
Copy link
Member Author

pront commented Jan 8, 2025

Nice! Looks good to me now assuming the Custom Build workflow executes successfully. Could we run than on this branch before merging?

Kicked off here: https://github.com/vectordotdev/vector/actions/runs/12676670228

Co-authored-by: Jesse Szwedko <jesse.szwedko@datadoghq.com>
Co-authored-by: Jesse Szwedko <jesse.szwedko@datadoghq.com>
@pront
Copy link
Member Author

pront commented Jan 8, 2025

Note: Per our discussion, we will do the homebrew changes after we publish the first ARM release.

@pront pront requested review from a team as code owners January 8, 2025 19:20
@github-actions github-actions bot added the domain: external docs Anything related to Vector's external, public documentation label Jan 8, 2025
Comment on lines 130 to 134
{
target: "arm64-apple-darwin-tar-gz"
arch: "ARM64"
extra: "apple-darwin"
}
Copy link
Member

Choose a reason for hiding this comment

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

This will 404 on all existing releases. I'm wondering if we need to add some sort of optional version specifier here. Like: version: ">= 0.44.0" that could be used when rendering the download page to determine if a particular platform should be rendered. This could be follow-up work to this PR (in which case we should just delete this new entry for now to avoid the user confusion from 404s).

Copy link
Member Author

Choose a reason for hiding this comment

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

Agreed. Will follow-up in another PR.

Copy link
Contributor

@cswatt cswatt left a comment

Choose a reason for hiding this comment

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

approved for docs, seems other issues persist

@pront pront force-pushed the pront/feat-arm-macos-builds branch from 676b724 to dce48a4 Compare January 8, 2025 20:04
@github-actions github-actions bot removed the domain: external docs Anything related to Vector's external, public documentation label Jan 8, 2025
@pront pront enabled auto-merge January 8, 2025 20:06
@pront pront disabled auto-merge January 8, 2025 20:13
Copy link
Member

@jszwedko jszwedko left a comment

Choose a reason for hiding this comment

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

🎉

@pront pront added this pull request to the merge queue Jan 8, 2025
Merged via the queue into master with commit 0720345 Jan 8, 2025
108 checks passed
@pront pront deleted the pront/feat-arm-macos-builds branch January 8, 2025 22:37
titaneric pushed a commit to titaneric/vector that referenced this pull request Jan 9, 2025
* feat(ci): publish ARM macOS builds

* typo

* rename build job to build-apple-darwin-packages

* add comments and link to large runners

* add pre-condition for early exit

* simplify verification step

* small tweaks

* add arm64-apple-darwin branches to various jobs (this begs for refactoring)

* update distribution/install.sh

* Update .github/workflows/publish.yml

Co-authored-by: Jesse Szwedko <jesse.szwedko@datadoghq.com>

* Update .github/workflows/publish.yml

Co-authored-by: Jesse Szwedko <jesse.szwedko@datadoghq.com>

---------

Co-authored-by: Jesse Szwedko <jesse.szwedko@datadoghq.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain: releasing Anything related to releasing Vector no-changelog Changes in this PR do not need user-facing explanations in the release changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants