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

bazel-based continuous integration flow #21

Merged
merged 24 commits into from
Jan 5, 2023

Conversation

matthew-levan
Copy link
Contributor

@matthew-levan matthew-levan commented Nov 22, 2022

This PR implements CI workflows for:

  • Binary builds (all four supported platforms: macos/linux, x86/arm)
  • Tests (i.e., c3, ent, noun, ur, and vere tests)
  • Releases (binary uploads to GCP) for pre-release and release tags
  • Docker builds
  • Ship tests
  • Caching

Workflows from urbit/urbit have been refactored for improved clarity, and nix derivations previously used in CI have been extracted and implemented with bazel.

Resolves #8.
Resolves #9.
Resolves #25 via #28.
Resolves #26 via #34.
Resolves #29.
Resolves #30.
Resolves #32 via #33.
Resolves #35 via #37.

@matthew-levan matthew-levan marked this pull request as draft November 22, 2022 18:31
@matthew-levan matthew-levan linked an issue Nov 22, 2022 that may be closed by this pull request
@matthew-levan matthew-levan force-pushed the issue/8/ci branch 10 times, most recently from 1027e53 to a29e8bb Compare November 29, 2022 15:23
@matthew-levan matthew-levan force-pushed the issue/8/ci branch 5 times, most recently from 8dd1cfe to 5997e90 Compare December 5, 2022 20:36
@matthew-levan matthew-levan self-assigned this Dec 6, 2022
Copy link

@mcevoypeter mcevoypeter left a comment

Choose a reason for hiding this comment

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

This is only a partial review. I haven't looked through the CI scripts or the Docker markdown doc yet.

.bazelrc Show resolved Hide resolved
bazel/third_party/murmur3/murmur3.BUILD Show resolved Hide resolved
bazel/toolchain/BUILD.bazel Show resolved Hide resolved
bazel/toolchain/BUILD.bazel Show resolved Hide resolved
pkg/noun/platform/darwin/BUILD.bazel Show resolved Hide resolved
pkg/vere/BUILD.bazel Outdated Show resolved Hide resolved
bazel/toolchain/BUILD.bazel Show resolved Hide resolved
@matthew-levan matthew-levan mentioned this pull request Jan 5, 2023
21 tasks
Copy link

@mcevoypeter mcevoypeter left a comment

Choose a reason for hiding this comment

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

LGTM

pkg/vere/BUILD.bazel Outdated Show resolved Hide resolved
@matthew-levan matthew-levan merged commit 8f6334a into issue/1/bazel-build Jan 5, 2023
@matthew-levan matthew-levan deleted the issue/8/ci branch January 5, 2023 18:43
@matthew-levan matthew-levan linked an issue Jan 5, 2023 that may be closed by this pull request
@matthew-levan
Copy link
Contributor Author

When branching this runtime-specific repo off from the urbit monorepo, we initially based off of next/vere in the monorepo. However, during the course of fall 2022, buggy work ended up on next/vere. Because of this, the release branch for version 1.14 of the runtime branched off of master, not next/vere, leading to a non-trivial divergence between next/vere and master. To that end, we have to rewrite the history of this repo, which will potentially obfuscate the commit SHAs and diffs of the already merged PRs in this repo. To provide a trail of breadcrumbs, attached is a patch of the diff represented by this PR before history was rewritten.

PR21.patch

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