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

Commits on Jan 9, 2024

  1. Isolate dependencies using devbox

    Signed-off-by: Kemal Akkoyun <[email protected]>
    kakkoyun committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    1f129d0 View commit details
    Browse the repository at this point in the history
  2. New Build Pipeline: Use Zig as compiler (#2395)

    Use zig as compiler
    
    Signed-off-by: Kemal Akkoyun <[email protected]>
    kakkoyun committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    4a09f3b View commit details
    Browse the repository at this point in the history
  3. Fix CI errors

    Signed-off-by: Kemal Akkoyun <[email protected]>
    kakkoyun committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    f3fbea0 View commit details
    Browse the repository at this point in the history
  4. Isolate dependencies using devbox

    Signed-off-by: Kemal Akkoyun <[email protected]>
    kakkoyun committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    2a2ac1c View commit details
    Browse the repository at this point in the history
  5. Configure goreleaser to use Zig build system

    Signed-off-by: Kemal Akkoyun <[email protected]>
    kakkoyun committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    0555462 View commit details
    Browse the repository at this point in the history
  6. New Build Pipeline: Use Zig with Goreleaser (#2397)

    - Configure goreleaser to use Zig build system
    kakkoyun committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    e7b2e22 View commit details
    Browse the repository at this point in the history
  7. New build pipeline: Isolate dependencies using devbox (#2368)

    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.
    kakkoyun committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    7b5d73d View commit details
    Browse the repository at this point in the history