stoic-portal v1.128.0
Stoic Portal
Installs stoic sources locally, resolves dependencies, links modules and compiles Ryū.
Usage
npx -p sutoiku/stoic-portal stoic-portal --base <folder>
Portal will install each module (core.stoic.ui.stoic...) in subfolders of the specified base
directory.
If a subfolder already exists with the same name, Portal will check if it contains a git
subdirectory. In that case,
it will git pull
to update it. Otherwise, it will leave it as it is. If no subfolder with the name is found, it
will git clone
to get the latest code base.
Parameters
base
Defines where everything has to be installed. The specified directory must exist.
- Default value:
~/stoic
- CLI parameter :
--base <folder>
logs
Defines where installation logs will be written.
- Default value:
<base>/logs
- CLI parameter :
--logs <folder>
Feature
Searches for the corresponding branch in all repos, otherwise uses master
.
- Default value:
<empty>
- CLI parameter :
--feature <name>
Prevent Scripts installation
If true
, no stoic installation scripts will be run.
- Default value:
true
- CLI parameter :
--noscripts
Prevent Dependencies installation
If true
, dependencies will not be installed.
- Default value:
true
- CLI parameter :
--nodeps
install-modules
Even with --noscripts
enabled, can be used to force them to be executed on one of the modules.
- Default value:
<empty>
- CLI parameter :
--install-modules
Dry-run
If true
, the nothing gets executed. The configuration is displayed, then
the program exits.
- Default value:
false
- CLI parameter :
--dry-run
heads
---heads=<file>
specifies a headsFile to use instead of getting HEADS from git repositories.
Configuration file
Must be in JSON format, and contain the following root attribues :
repositoryUrlTemplate
Convention to transform a repository name into a URL (ex : "git@github.com:company/#name#"
).
repositories
Array of repositories to install.
Exemple: ["all", "my", "repositories"]
links
Portal automatically detects links to be done from package.json
files, but it can be necessary to force some,
for instance when the same repository contains sub-directories with package.json
(Marcus I'm looking at you).
Key-Value object, where each key is a repository and each value is an array of paths to be linked.
Exemple :
"links": {
"project": [
"other.project/node_modules/project"
],
"project/subdirectory": [
"yet.another.project/node_modules/project-sub"
],
Assembler
Assembler is used by the CI system to retrieve pre-compiled and tested modules from AWS S3 to avoid a full rebuild of the platform each time something is commited.
This produces JSON reports :
feature-heads.json
contains the list of sha1 used , for each module.heads.json
contains the list of sha1 used, for the specified feature (e.g. excluding master failbacks of a feature was specified)
Usage
npx -p sutoiku/stoic-portal stoic-assemble --base <base directory> <options>
Parameters
Base
Defines where everything has to be installed. The specified directory must exist.
- Default value: ~/stoic`
- CLI parameter :
--base <folder>
Feature
Searches for the corresponding branch in all repos, otherwise usesmaster
. - Default value:
<empty>
- CLI parameter :
--feature <name>
Production
If set to the string true
, npm installation will be performed with the --production
flag.
Strict
If present, Assembler will exit with an error exit code (1) if an archive is missing.
Exclude
Any module in this list will be excluded from the S3 downloads.
heads
---heads=<file>
specifies a headsFile to use instead of getting HEADS from git repositories.
Dry-run
If true
, the nothing gets executed. The configuration is displayed, then
the program exits.
- Default value:
false
- CLI parameter :
--dry-run
Github-status
Set github commit status, without overriding an upper status : does not set pending
when
the status is already success
, etc.
Parameters
context
: Github status context name (see Github API Documentation)status
: can be eitherpending
,success
orfailure
message
: Status description or additional informationfile
: heads report, as produced by the Assembler portal binary.
Env variables
This requires JIRA_TOKEN
and GITHUB_TOKEN
env variables to be set.
Parameters
--heads
: Heads file to use for github tagging--tag
: Version tag(s) to apply to github repositories. Multiple values can be set, separated by commas.--hotfix
: if present, GitHub won't be updated.--dry-run
2 years ago