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

New Build Pipeline #2411

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from
Draft

New Build Pipeline #2411

wants to merge 7 commits into from

Conversation

kakkoyun
Copy link
Member

@kakkoyun kakkoyun commented Jan 9, 2024

TBA

This is a very early-stage PR. There will be PRs that are going to be merged onto this and then to the main. Stay tuned.

kakkoyun and others added 7 commits January 9, 2024 16:00
Use zig as compiler

Signed-off-by: Kemal Akkoyun <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>
- Configure goreleaser to use Zig build system
Signed-off-by: Kemal Akkoyun <[email protected]>

> [!NOTE]
> This targets
https://github.com/parca-dev/parca-agent/tree/new_build_pipeline and
there will be a PR in the end targets the `main`.

From the users' perspective, this PR shouldn't change anything. If you
want to use specified dependencies please consider installing the devbox
and direnv (simply `make init`)

This brings the result of the experimentation for a new build pipeline
from parca-dev/testdata#27 to the agent.

At first, we will start by introducing the https://www.jetpack.io/devbox

> Now, we use https://www.jetpack.io/devbox for managing external and
tool dependencies, such as the Go toolchain or C compiler. This tool has
been chosen because it has all the benefits of
[Nix](https://nixos.org/), but we don't have to deal with all the
intricacies of Nix. It also has an excellent integration with
[direnv](https://direnv.net/) to load the environment automatically when
you enter the directory.

Moreover, this PR:
- Changes the directory structure a little bit to reduce the number of
top-level directories (I will introduce more) and group them.
- It also vendors in the dependencies of libbpf as git submodules and
compiles it. It's the same strategy as in
#1602 (that PR will be
deprecated). It is easier to manage than using some external tool.
Especially when we want to cross-compile them. (Makefile changes)
- The GH actions are updated to utilize the devbox.

### Test Plan
- See that CI is green.
- (Locally) Just run the make targets as before.
@javierhonduco
Copy link
Contributor

Failing with -buildmode=pie not supported when -race is enabled

@kakkoyun kakkoyun added the area/build-pipeline Something to do with CI and build pipeline label Feb 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/build-pipeline Something to do with CI and build pipeline
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants