GitHub Push Committer
Push symbol unit and library files to GitHub for use by subsequent run and compile pipeline execution.
Compile
Compile pipelines pull prior outputs to skip unchanged files, reducing compilation time and keeping apps current.
Run
Run pipelines pull symbol libraries at startup or periodically to transform events via GitOps configuration.
Configuration
To configure the GitHub push committer unit, Edit these settings.
Below is the default configuration from: push/config.yaml (* Required Fields).
ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJ0ZW54IiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAiZ2l0aHViUHVzaCIgOiB7CiAgICAgICJ0eXBlIiA6ICJhcnJheSIsCiAgICAgICJpdGVtcyIgOiB7CiAgICAgICAgInR5cGUiIDogIm9iamVjdCIsCiAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiA6IGZhbHNlLAogICAgICAgICJwcm9wZXJ0aWVzIiA6IHsKICAgICAgICAgICJyZXBvIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiVGFyZ2V0IEdpdEh1YiByZXBvXG5cbklkZW50aWZpZXMgYSBHaXRIdWIgcmVwb3NpdG9yeSB0byBwdXNoIGZpbGVzIHRvIGluY2x1ZGluZyB0aGUgdXNlcm5hbWUgb2YgdGhlIG93bmVyIChlLmcuLCAnc29tZS11c2VyL3JlcG8tbmFtZScpIgogICAgICAgICAgfSwKICAgICAgICAgICJ0b2tlbiIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgICAibnVsbCIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIkdpdEh1YiBBUEkgYWNjZXNzIHRva2VuXG5cbkRlZmluZXMgYW4gYWNjZXNzIHRva2VuIGZvciBhY2Nlc3NpbmcgR2l0aHViIHJlcG9zLiBUbyBsZWFybiBtb3JlIHNlZSBbR2l0SHViIHRva2Vuc10oaHR0cHM6Ly9kb2NzLmdpdGh1Yi5jb20vZW4vYXV0aGVudGljYXRpb24va2VlcGluZy15b3VyLWFjY291bnQtYW5kLWRhdGEtc2VjdXJlL21hbmFnaW5nLXlvdXItcGVyc29uYWwtYWNjZXNzLXRva2VucykuIgogICAgICAgICAgfSwKICAgICAgICAgICJicmFuY2giIDogewogICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJUYXJnZXQgYnJhbmNoIHRvIHB1c2ggdG9cblxuU3BlY2lmaWVzIHRoZSBicmFuY2ggdG8gdXNlIHdoZW4gcHVzaGluZyB0byB0aGlzIHJlcG8uIElmIG9taXR0ZWQsIHVzZSB0aGUgcmVwb3NpdG9yeSdzIGRlZmF1bHQgYnJhbmNoLiIKICAgICAgICAgIH0sCiAgICAgICAgICAiZm9sZGVyIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiRm9sZGVyIHdpdGhpbiB0aGUgdGFyZ2V0IEdpdEh1YiByZXBvIGluIHdoaWNoIHRvIHB1c2ggZmlsZXNcblxuSWRlbnRpZmllcyBhIGZvbGRlciB3aXRoaW4gdGhlIHRhcmdldCBHaXRIdWIgcmVwbyB0byBwdXNoIG91dHB1dCBzeW1ib2wgZmlsZXMgdG8iCiAgICAgICAgICB9LAogICAgICAgICAgImZpbHRlciIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgICAibnVsbCIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIkEgcmVnZXggcGF0dGVybiBhIGZpbGUgb24gZGlzayBtdXN0IG1hdGNoIHRvIHB1c2hcblxuU3BlY2lmaWVzIGEgYSByZWdleCBwYXR0ZXJuIGEgZmlsZSBvbiBkaXNrIG11c3QgbWF0Y2ggdG8gYmUgcHVzaGVkIHRvIHRoZSB0YXJnZXQgcmVwby4gVGhpcyBvcHRpb24gcHJvdmlkZXMgYSBtZWNoYW5pc20gZm9yICdyb3V0aW5nJyBvdXRwdXQgc3ltYm9sIGZpbGVzIHRvIGRpZmZlcmVudCByZXBvc2l0b3JpZXMgYmFzZWQgb24gdGhlaXIgZmlsZSBleHRlbnNpb24gKGUuZy4sIGBcXC5qc1xcLmpzb24kYCkgb3IgbG9jYXRpb24gd2l0aGluIHRoZSBvdXRwdXQgZm9sZGVyIHRyZWUgKGUuZy4sIGAoXnwvfFxcXFwpYWNtZSgvfFxcXFx8JGApIgogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInJlcXVpcmVkIiA6IFsKICAgICAgICAgICJyZXBvIgogICAgICAgIF0KICAgICAgfQogICAgfQogIH0sCiAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiA6IGZhbHNlCn0=
# 🔟❎ 'compile' GitHub configuration
# Push output symbol unit files for reuse by subsequent compile cycles.
# To learn more see https://doc.log10x.com/compile/push/
# Set the 10x pipeline to 'compile'
tenx: compile
# =============================== GitHub Options ==============================
githubPush:
# 'token' specifies the access token for pushing files to the target repo, read from env or set inline.
# To learn more see: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens
- token: $=TenXEnv.get("GH_TOKEN") # (❗ EnvVar REQUIRED)
# 'repo' specifies the repo name to pull in Github
# including the username of the owner (e.g., apache/spark)
repo: null # (❗ REQUIRED)
# 'branch' specifies the branch to use when pushing into this repo.
# If not specified, push to the default repo branch
branch: null
# 'folder' specifies a folder within the target repo to push files, if not specified push to root
folder: null
# 'filter' specifies a a regex pattern a file on disk must match to be pushed to the target repo.
filter: null
Options
Specify the options below to configure multiple GitHub push committer:
| Name | Description |
|---|---|
| githubPushRepo | Target GitHub repo |
| githubPushToken | GitHub API access token |
| githubPushBranch | Target branch to push to |
| githubPushFolder | Folder within the target GitHub repo in which to push files |
| githubPushFilter | A regex pattern a file on disk must match to push |
githubPushRepo
Target GitHub repo.
| Type | Default |
|---|---|
| String | "" |
Identifies a GitHub repository to push files to including the username of the owner (e.g., 'some-user/repo-name').
githubPushToken
GitHub API access token.
| Type | Default |
|---|---|
| String | "" |
Defines an access token for accessing Github repos. To learn more see GitHub tokens.
githubPushBranch
Target branch to push to.
| Type | Default |
|---|---|
| String | "" |
Specifies the branch to use when pushing to this repo. If omitted, use the repository's default branch.
githubPushFolder
Folder within the target GitHub repo in which to push files.
| Type | Default |
|---|---|
| String | "" |
Identifies a folder within the target GitHub repo to push output symbol files to.
githubPushFilter
A regex pattern a file on disk must match to push.
| Type | Default |
|---|---|
| String | "" |
Specifies a a regex pattern a file on disk must match to be pushed to the target repo.
This option provides a mechanism for 'routing' output symbol files to different repositories
based on their file extension (e.g., \.js\.json$) or location within the output folder tree (e.g., (^|/|\\)acme(/|\\|$).
This unit is defined in push/unit.yaml.