Skip to content

Conversation

@tzanko-matev
Copy link
Contributor

I propose in this PR a refactoring of our tup setup. The main change is that we move all Tupfiles from ./src to ./src/build

Consequences:

  • When we run tup using the normal process (just build or just build-once) the output is now found in ./src/build-debug/build instead of ./src/build-debug As a result all paths that relied on the previous location of the output artefacts needed to be updated.

  • We had to change the logic in nim for locating ct_paths.json in order to be more robust. Now it should not depend where the ct binary is located as long as it is in a subfolder of the root repo

  • We can now use tup generate locally without too much trouble. The way to do it is: cd src; tup generate --config build-config/tup.conf tup.sh; tup.sh All build outputs will end up in ./src/build. NOTE: after a single use we must clean up our repo in order to be able to use the normal dev flow again. The commands for that are: git clean -fx src/build; git clean -fx src/build-debug

  • It is now possible to run ./ci/build/dev.sh locally since it depends on tup generate

  • It is now possible to run all CI scripts which depend on dev.sh. Those are the python-smoke-test.sh and the ui-test.sh

  • ui-tests CI step is turned back on and should be working now

  • It should be easier to use Codex in codetracer, because it can use the tup generate flow to build the code in its sandbox. This was not possible with tup. Instructions for Codex are not added to this PR though.

.agents/codebase-insights.txt: 
0006-tup-build-staging-area.md: 
justfile: 
tup-build-staging-implementation-plan.md: 

Signed-off-by: Tzanko Matev <[email protected]>
.agents/codebase-insights.txt: 
nix/shells/main.nix: 
src/Tupfile: 
src/Tuprules.tup: 
src/backend-manager/Tupfile: 
src/build/.gitignore: 
src/build/Tupfile: 
src/build/Tuprules.tup: 
src/build/backend-manager/Tupfile: 
src/build/ct/Tupfile: 
src/build/db-backend/Tupfile: 
src/build/db-backend/tree-sitter-trace/Tupfile: 
src/build/frontend/styles/Tupfile: 
src/build/public/Tupfile: 
src/build/public/resources/Tupfile: 
src/build/public/resources/calltrace/Tupfile: 
src/build/public/resources/debug/Tupfile: 
src/build/public/resources/fonts/Tupfile: 
src/build/public/resources/fonts/fira_code/Tupfile: 
src/build/public/resources/fonts/space_grotesk/Tupfile: 
src/build/public/resources/menu/Tupfile: 
src/build/public/resources/shared/Tupfile: 
src/build/public/resources/shell/Tupfile: 
src/build/public/resources/tracepoints/Tupfile: 
src/build/public/third_party/Tupfile: 
src/build/small-lang/Tupfile: 
src/build/tester/Tupfile: 
src/build/tui/Tupfile: 
src/ct/Tupfile: 
src/ct/ct_wrapper.nim: 
src/db-backend/Tupfile: 
src/db-backend/tree-sitter-trace/Tupfile: 
src/frontend/styles/Tupfile: 
src/public/Tupfile: 
src/public/resources/Tupfile: 
src/public/resources/calltrace/Tupfile: 
src/public/resources/debug/Tupfile: 
src/public/resources/fonts/Tupfile: 
src/public/resources/fonts/fira_code/Tupfile: 
src/public/resources/fonts/space_grotesk/Tupfile: 
src/public/resources/menu/Tupfile: 
src/public/resources/shared/Tupfile: 
src/public/resources/shell/Tupfile: 
src/public/resources/tracepoints/Tupfile: 
src/public/third_party/Tupfile: 
src/small-lang/Tupfile: 
src/tester/Tupfile: 
src/tui/Tupfile: 
tup-build-staging-status.md: 

Signed-off-by: Tzanko Matev <[email protected]>
.agents/codebase-insights.txt: 
0006-tup-build-staging-area.md: 
tup-build-staging-implementation-plan.md: 
tup-build-staging-status.md: 

Signed-off-by: Tzanko Matev <[email protected]>
ci/build/dev.sh: 
docs/a.md: 
docs/book/src/installation.md: 
docs/tests.md: 
justfile: 
nix/shells/armShell.nix: 
non-nix-build/env.sh: 
src/db-backend/editor-config/emacs/init.el: 
tup-build-staging-status.md: 
wdio.conf.js: 

Signed-off-by: Tzanko Matev <[email protected]>
ci/build/dev.sh: 
ci/test/python-recorder-smoke.sh: 
ci/test/ui-tests.sh: 
justfile: 

Signed-off-by: Tzanko Matev <[email protected]>
This is needed for the ui tests to run in Github. We need to pass the
`--no-sandbox` argument to electron. In the previous version of the code
the code path used to start electron was not doing that.

ci/test/ui-tests.sh: Add CODETRACER_ELECTRON_ARGS=--no-sandbox

Signed-off-by: Tzanko Matev <[email protected]>
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

Successfully merging this pull request may close these issues.

2 participants