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

Consider a monorepo for Atomic-Data-Browser and Rust #216

Closed
11 of 12 tasks
joepio opened this issue Nov 20, 2021 · 5 comments
Closed
11 of 12 tasks

Consider a monorepo for Atomic-Data-Browser and Rust #216

joepio opened this issue Nov 20, 2021 · 5 comments
Assignees
Milestone

Comments

@joepio
Copy link
Member

joepio commented Nov 20, 2021

We have:

  • atomic-data-docs, containing just documentation. The goal of the issue tracker is to discuss the spec. It should probably be kept separate for this reason.
  • atomic-data-rust, containing atomic-server, a CLI and a rust library. These are highly interdependent (or at least, cli and server depend on lib)
  • atomic-data-browser, which also contains the react and typescript libraries.

Reasons to combine atomic-data-rust and atomic-data-typescript in a single repo:

  • Easier to perform integration tests / CI with multiple changing parts
  • Easier to contain the host browser assets in the server Host the data-browser assets / JS bundles #185
  • Better discoverability of other parts of the stack
  • Users might find it easier to drop an issue in one repo, instead of having to decide which part is failing if they see an error.

Reasons not to:

  • The project will be seen more as one big stack, instead of as a modular stack with an open standard
  • Issues for both front-end and back-end will be less separated.

Steps:

  • Move open PRs
  • Move issues https://jloh.co/posts/bulk-migrate-issues-github-cli/
  • Move data
  • Combine github actions / workflows
  • Remove build_server.sh script
  • Move Github Site for @tomic/lib NPM TS docs
  • Update Browser readme
  • Update Server readme
  • Update Contribute.md
  • Update gitignore
  • Fix docker build
  • Fix release script
@joepio joepio added the help wanted Extra attention is needed label Nov 20, 2021
@joepio joepio changed the title Consider a monorepo for all Atomic Data projects Consider a monorepo for Atomic-Data-Browser and Rust Nov 20, 2021
@jonassmedegaard
Copy link

I'd recommend to only use a monorepo for projects released in lockstep.

I find it annoying and semantically confusing to "jump in time" between the release tags of the contained parts within a single git repo.

@joepio
Copy link
Member Author

joepio commented Nov 20, 2021

In practice I'm using a lock-step release schedule / deployment. Both versions are kept in sync, so this already is something I'm dealing with. If it was a single repo, this would be easier.

I'm not sure if I follow the jumping in time bit - this should not be necessary at any moment if this was a monorepo

@jonassmedegaard
Copy link

if you released Rust crates in even weeks and Node modules in uneven weeks, tagged rust-vX.Y.Z and node-vX.Y.Z, then at the node-vX.Y.Z tag the Rust code would be in the middle of development.

E.g. https://github.com/rollup/plugins uses such interleaved release style.

But yes, if all parts are released in lockstep that is not an issue.

@jonassmedegaard
Copy link

I just noticed how https://github.com/withastro/snowpack.git tags both module-specific releases and monorepo releases.
I find that a sensible approach - assuming all module releases are kept stable for monorepo releases.

What I mean is, even if now you expect to only need to release all in lockstep, then there's room for doing minor releases of individual modules in-between those lockstep releases - just make sure to use a branch for things that might get in the way of any release in any module.

@joepio joepio added this to the v1.0.0 milestone Jul 24, 2023
joepio added a commit that referenced this issue Jul 25, 2023
joepio added a commit that referenced this issue Jul 25, 2023
@joepio joepio mentioned this issue Jul 25, 2023
4 tasks
joepio added a commit that referenced this issue Jul 25, 2023
joepio added a commit that referenced this issue Jul 25, 2023
@joepio joepio removed the help wanted Extra attention is needed label Jul 26, 2023
joepio added a commit that referenced this issue Jul 26, 2023
#216 e2e build

lockfile

Update pnpm version

Fix install command

Fix test

linear tests

Artifact folder

Update readme docs, remove e2e_tests folder

Pass front-end URL in ENV for e2e

Rename task=

Update playwright, fix test, fix readme

Improve error handling versions / history

try split action cache

fix order

Checkout

cache order

Fix build

fix cache

Update rust cache

build artifacts

build artifact path

Build js

install pnpm

Moar cache

Fix pnpm install

Fix e2e test artifacts

cache fix

Fix raycast URL #637

Run e2e

Fix init script

init

Fix e2e upload test

Fix e2e snapshot linux
joepio added a commit that referenced this issue Jul 26, 2023
joepio added a commit that referenced this issue Jul 26, 2023
joepio added a commit that referenced this issue Jul 26, 2023
#216 e2e build

lockfile

Update pnpm version

Fix install command

Fix test

linear tests

Artifact folder

Update readme docs, remove e2e_tests folder

Pass front-end URL in ENV for e2e

Rename task=

Update playwright, fix test, fix readme

Improve error handling versions / history

try split action cache

fix order

Checkout

cache order

Fix build

fix cache

Update rust cache

build artifacts

build artifact path

Build js

install pnpm

Moar cache

Fix pnpm install

Fix e2e test artifacts

cache fix

Fix raycast URL #637

Run e2e

Fix init script

init

Fix e2e upload test

Fix e2e snapshot linux
joepio added a commit that referenced this issue Jul 27, 2023
joepio added a commit that referenced this issue Jul 31, 2023
@joepio joepio self-assigned this Sep 29, 2023
@joepio
Copy link
Member Author

joepio commented Dec 14, 2023

Only moving issues remains, but I'll do that only if the issues are needed to prevent flooding this repo with issues.

@joepio joepio closed this as completed Dec 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants