-
Notifications
You must be signed in to change notification settings - Fork 5
Open
2 / 42 of 4 issues completedLabels
build_tsmp2All matters about build_tsmp2.shAll matters about build_tsmp2.sh
Description
#53 introduced a new set of options for supporting multiple build configurations. This also introduced a lot of issues in build_tsmp2.sh:
- The default environment file should be loaded based on the
hostnamecommand, which is universally available on*Nixsystems unlike$SYSTEMNAME. -
build_tsmp2.shshould avoid setting machine-specific environment variables (e.g.,$SYSTEMNAMEand$STAGE). Environment variables should only be set in the environment file. - Decide on the canonical way of constructing
BUILD_ID. This should encode information about the machine, compiler, and model combination used. - Address un-ergonomic and POSIX-violating option handling.
build_tsmp2.shdoes not use program arguments (i.e. input strings not prefixed with dashes) . Everything is either a short or long option.- Investigate if CLI parsing libraries are worth it (e.g. argparse.sh, argbash)
- Devise a much simpler grammar for specifying model combinations and compiler switches. The grammar should also account for
GPUandCPUbuild options. - In general, following CLI design best practices is a good idea and will save us from future maintenance headaches.
- Add a bash linter in CI (e.g. shellcheck) to easily catch mistakes and enforce proper coding style.
This list is a set of TODOs and are not exhaustive; feel free to add more using the comments below. I suggest addressing these issues after #53 and before we move on to fully supporting GPU builds.
Sub-issues
Metadata
Metadata
Assignees
Labels
build_tsmp2All matters about build_tsmp2.shAll matters about build_tsmp2.sh