-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
refactor all code that builds csources #17815
Conversation
62f04a0
to
051ed10
Compare
I did not too long ago, because it's mentioned readme, so I would assume other people do this as well. |
well I've updated it in the meantime in a prior commit, please test build_all.bat from this PR |
everything seems to work well. Is there anything in particular I should test? |
that's it, thanks! |
a7edc58
to
4547343
Compare
4547343
to
0d761f3
Compare
* refactor all code that builds csources * fixup * nim_csourcesDir_v0 + nim_csourcesDir * remove deprecated, unused scripts from ci/ * reuse nimCsourcesHash in ci * simplify CI pipelines by reusing nimBuildCsourcesIfNeeded * simplify ci_docs.yml by reusing nimBuildCsourcesIfNeeded * cleanup * use csources_v1 as destination dir * fixup * remove pushCsources * address comment: remove build.sh support for now * fixup
nimBuildCsourcesIfNeeded
), without affecting scriptssh build_all.sh
now does "the right thing" transparently (caches bin/nim_csources_$hash and only rebuilds when needed)ci/*
exceptci/funs.sh
, which by design has no top-level statement, only reusable bash functions that can be used after. ci/funs.sh
design goals
nimBuildCsourcesIfNeeded
notes
appveyor.yml.disabled
, it's outdated and not used anymorebuild_all.bat
, it was already outdated (used csources instead of csources_v1), and I don't know if it's still used by windows users (given we have choosenim and that windows users can use bash scripts IIRC, eg as does azure_pipelines.yml); if it still needs to be maintained, we can update it (or even auto-generate it to keep the urls/hash in sync)future work
unmaintained/
#17828build_all.bat
(as explained below) or auto-generating it./koch buildnim --rev:rev
to build nim at a specified revision, taking care of bootstrapping from correct csources version (analog of D's https://github.com/CyberShadow/Digger) => see nim-digger: program to build nim at any revision (including forks/PRs) (cf D's digger); useful for git bisect timotheecour/Nim#332./koch bisect --bad:rev1 --good:rev2 --cmd:xxx
to simplify runninggit bisect
, and taking care of building nim at which ever revision needed (in particular taking care of using correct csources version as needed), reusing./koch buildnim
=>./koch bisect
timotheecour/Nim#702links