You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[Releases, Versioning and Tagging](#releases-versioning-and-tagging)
35
+
-[CI situation](#ci-situation)
34
36
-[Publishing manually - doing the CI's work](#publishing-manually---doing-the-cis-work)
35
37
-[Building and publishing binaries](#building-and-publishing-binaries)
36
38
-[Publishing to Cargo](#publishing-to-cargo)
37
39
-[Publishing server to Docker](#publishing-server-to-docker)
38
40
-[Deploying to atomicdata.dev](#deploying-to-atomicdatadev)
39
41
-[Publishing atomic-cli to WAPM](#publishing-atomic-cli-to-wapm)
40
42
41
-
## Running locally
43
+
## Running & compiling
42
44
43
-
Clone the repo and run `cargo run` from each folder (e.g. `cli` or `server`).
45
+
TL;DR Clone the repo and run `cargo run` from each folder (e.g. `cli` or `server`).
44
46
45
-
## Running locally (with local development browser)
47
+
###Running locally (with local development browser)
46
48
47
49
- Run `cargo run` to start the server
48
50
- Go to `browser`, run `pnpm install` (if you haven't already), and run `pnpm dev` to start the browser
49
51
- Visit your `localhost` in your locally running `atomic-data-browser` instance: (e.g. `http://localhost:5173/app/show?subject=http%3A%2F%2Flocalhost`)
50
-
- use `cargo watch -- cargo run` to automatically recompile `atomic-server` when you push new assets using `pmpm build-server`in `atomic-data-browser`. This can be useful if you're debugging specific features that you can't reproduce while the front-end is hosted in vite.
52
+
- use `cargo watch -- cargo run` to automatically recompile `atomic-server` when you update JS assets in `browser`
51
53
52
-
## Compilation using Earthly
54
+
### Debugging
55
+
56
+
-**VSCode Users**: Install the `CodeLLDB` plugin, and press F5 to start debugging. Breakpoints, inspect... The good stuff.
57
+
58
+
### IDE setup (VSCode)
59
+
60
+
This project is primarily being developed in VSCode.
61
+
That doesn't mean that you should, too, but it means you're less likely to run into issues.
62
+
The `/.vscode` directory contains various tasks, recommended extensions, and some settings overwrites.
63
+
64
+
### Compilation using Earthly
53
65
54
66
There are `earthfile`s in `browser` and in `atomic-server`.
55
67
These can be used by Earthly to build all steps, including a full docker image.
@@ -58,12 +70,12 @@ These can be used by Earthly to build all steps, including a full docker image.
- Use the [`mold`](https://github.com/rui314/mold) linker + create a `.cargo/config.toml` and add `[build] rustflags = ["-C", "link-arg=-fuse-ld=lld"]`
64
76
- Note: this is primarily for development on linux systems, as mold for macOS requires a paid license
65
77
66
-
## Cross compilation
78
+
###Cross compilation
67
79
68
80
If you want to build `atomic-server` for some other target (e.g. building for linux from macOS), you can use the `cross` crate.
-**VSCode Users**: Install the `CodeLLDB` plugin, and press F5 to start debugging. Breakpoints, inspect... The good stuff.
131
+
``` -->
122
132
123
133
## Performance monitoring / benchmarks
124
134
@@ -204,6 +214,11 @@ Note:
204
214
- The version for `atomic-lib` is the most important, and dictates the versions of `cli` and `server`. When `lib` changes minor version, `cli` and `server` should follow.
205
215
- After publishing, update the `./desktop/latest-version.json` file. This is used for auto-updating desktop distributions. See [tauri docs](https://tauri.studio/docs/distribution/updater).
206
216
217
+
### CI situation
218
+
219
+
- Github Action for `push`: builds + tests + docker (using `earthly`, see `Earthfile`)
220
+
- Github Action for `tag`: create release + publish binaries
221
+
207
222
### Publishing manually - doing the CI's work
208
223
209
224
If the CI scripts for some reason do not do their job (buildin releases, docker file, publishing to cargo), you can follow these instructions:
0 commit comments