Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Add workflow for releasing sparkctl binary #2264

Merged
merged 1 commit into from
Oct 24, 2024

Conversation

ChenYi015
Copy link
Contributor

@ChenYi015 ChenYi015 commented Oct 18, 2024

Purpose of this PR

Close #1009.

Proposed changes:

  • Add workflow for releasing sparkctl binary

Change Category

Indicate the type of change by marking the applicable boxes:

  • Bugfix (non-breaking change which fixes an issue)
  • Feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that could affect existing functionality)
  • Documentation update

Rationale

Checklist

Before submitting your PR, please review the following:

  • I have conducted a self-review of my own code.
  • I have updated documentation accordingly.
  • I have added tests that prove my changes are effective or that my feature works.
  • Existing unit tests pass locally with my changes.

Additional Notes

Comment on lines 72 to 82
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
os:
- linux
- darwin
arch:
- amd64
- arm64
Copy link
Contributor

@ImpSy ImpSy Oct 22, 2024

Choose a reason for hiding this comment

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

The matrix here as no impact on the os / arch use since we rely on ubuntu-latest (linux/amd64)

But we could rely on go native capability to build cross-platform binaries by setting GOOS=${{ matrix.os }} GOARCH=${{ matrix.arch }} as env var when running make build-sparkctl

I would also not recommend using matrix in that specific case because It create new runner for each variation and does not reuse the go build cache meaning that time we have to wait a full build time

Copy link
Contributor Author

Choose a reason for hiding this comment

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

But we could rely on go native capability to build cross-platform binaries by setting GOOS=${{ matrix.os }} GOARCH=${{ matrix.arch }} as env var when running make build-sparkctl

Make sense. Have added them as job envs.

I would also not recommend using matrix in that specific case because It create new runner for each variation and does not reuse the go build cache meaning that time we have to wait a full build time

It will truly create 4 different runners, but they will build sparkctl binary concurrently, so actually the whole waiting time is shorter.

Signed-off-by: Yi Chen <github@chenyicn.net>
@ChenYi015 ChenYi015 marked this pull request as ready for review October 24, 2024 06:14
@google-oss-prow google-oss-prow bot requested a review from ImpSy October 24, 2024 06:14
@ChenYi015
Copy link
Contributor Author

/assign @jacobsalway @ImpSy

@ImpSy
Copy link
Contributor

ImpSy commented Oct 24, 2024

/lgtm

@ChenYi015
Copy link
Contributor Author

/approve

Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ChenYi015, ImpSy

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-oss-prow google-oss-prow bot merged commit 1e864c8 into kubeflow:master Oct 24, 2024
11 checks passed
@ChenYi015 ChenYi015 deleted the release-sparkctl branch October 24, 2024 08:27
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Provide release binary for sparkctl
2 participants