GitHub Repository
Pulls GitHub repository files to disk for compile pipeline scanning.
Only downloads target folders when no matching symbol files exist for the current branch commit SHA.
Configuration
To configure the GitHub repository module, Edit these settings.
Below is the default configuration from: github/config.yaml (* Required Fields).
ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJ0ZW54IiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAiZ2l0aHViUHVsbCIgOiB7CiAgICAgICJ0eXBlIiA6ICJhcnJheSIsCiAgICAgICJpdGVtcyIgOiB7CiAgICAgICAgInR5cGUiIDogIm9iamVjdCIsCiAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiA6IGZhbHNlLAogICAgICAgICJwcm9wZXJ0aWVzIiA6IHsKICAgICAgICAgICJyZXBvcyIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAiYXJyYXkiLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiTmFtZXMgb2YgcmVwbyhzKSB0byBwdWxsXG5cbklkZW50aWZpZXMgR2l0SHViIHJlcG9zaXRvcmllcyB0byBwdWxsIGluIHRoZSBmb3JtIG9mIHVzZXJuYW1lL293bmVyIChlLmcuLCBvcGVuc2VhcmNoLXByb2plY3QvT3BlblNlYXJjaCkiLAogICAgICAgICAgICAiaXRlbXMiIDogewogICAgICAgICAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAidG9rZW4iIDogewogICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJHaXRIdWIgQVBJIGFjY2VzcyB0b2tlblxuXG5EZWZpbmVzIGFuIGFjY2VzcyB0b2tlbiBmb3IgYWNjZXNzaW5nIEdpdGh1YiByZXBvcy4gVG8gbGVhcm4gbW9yZSBzZWUgW0dpdEh1YiB0b2tlbnNdKGh0dHBzOi8vZG9jcy5naXRodWIuY29tL2VuL2F1dGhlbnRpY2F0aW9uL2tlZXBpbmcteW91ci1hY2NvdW50LWFuZC1kYXRhLXNlY3VyZS9tYW5hZ2luZy15b3VyLXBlcnNvbmFsLWFjY2Vzcy10b2tlbnMpLiAgIFRoaXMgdmFsdWUgc2hvdWxkIGJlIHNldCB2aWEgYW4gW2Vudmlyb25tZW50IHZhcmlhYmxlXShodHRwczovL2RvYy5sb2cxMHguY29tL2FwaS9qcy8jVGVuWEVudi5nZXQpOiAgYGBgIHlhbWwgZ2l0aHViUHVsbFRva2VuOiAkPVRlblhFbnYuZ2V0KFwiR0hfVE9LRU5cIikgYGBgIgogICAgICAgICAgfSwKICAgICAgICAgICJicmFuY2giIDogewogICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJUYXJnZXQgYnJhbmNoXG5cblNwZWNpZmllcyB0aGUgYnJhbmNoIHRvIHVzZSB3aGVuIHB1bGxpbmcgZnJvbSBbZ2l0aHViUHVsbFJlcG9zXShodHRwczovL2RvYy5sb2cxMHguY29tL2NvbXBpbGUvcHVsbC9naXRodWIvI2dpdGh1YnB1bGxyZXBvcykuIElmIG9taXR0ZWQsIHVzZSB0aGUgcmVwb3NpdG9yeSdzIGRlZmF1bHQgYnJhbmNoLiIKICAgICAgICAgIH0sCiAgICAgICAgICAiZm9sZGVycyIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAiYXJyYXkiLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiUmVwbyBmb2xkZXJzIHRvIHB1bGxcblxuSWRlbnRpZmllcyBmb2xkZXIocykgd2l0aGluIFtnaXRodWJQdWxsUmVwb3NdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vY29tcGlsZS9wdWxsL2dpdGh1Yi8jZ2l0aHVicHVsbHJlcG9zKSB0byBwdWxsLiBpZiBvbWl0dGVkLCB0aGUgZW50aXJlIHJlcG8gaXMgcHVsbGVkLiIsCiAgICAgICAgICAgICJpdGVtcyIgOiB7CiAgICAgICAgICAgICAgInR5cGUiIDogInN0cmluZyIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInJlcXVpcmVkIiA6IFsKICAgICAgICAgICJ0b2tlbiIKICAgICAgICBdCiAgICAgIH0KICAgIH0KICB9LAogICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZQp9
# 🔟❎ 'compile' GitHub pull sources configuration
# Configures GitHub repositories folders to pull to disk to scan its contents.
# To learn more see https://doc.log10x.com/compile/pull/github
# For a reference list of industry-standard frameworks, see:
# modules/pipelines/compile/modules/pull/github/library.yaml
# Set the 10x pipeline to 'compile'
tenx: compile
# ============================== GitHub Options ===============================
githubPull:
# 'token' specifies the access token for this repo using a shell variable (recommended) or inline
# 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 names to pull from Github (e.g., apache/spark)
repos: [
#owner/project
]
# 'branch' specifies the branch to pull within 'repos'. If not set, pulls each repo's default branch
branch: null
# 'repoFolders' defines folders within 'repos' to pull. If not specified, pull the entire repo
folders: [
# src/main
]
Options
Specify the options below to configure multiple GitHub repository:
| Name | Description |
|---|---|
| githubPullRepos | Names of repo(s) to pull |
| githubPullToken | GitHub API access token |
| githubPullBranch | Target branch |
| githubPullFolders | Repo folders to pull |
githubPullRepos
Names of repo(s) to pull.
| Type | Default |
|---|---|
| List | [] |
Identifies GitHub repositories to pull in the form of username/owner (e.g., opensearch-project/OpenSearch).
githubPullToken
GitHub API access token.
| Type | Required |
|---|---|
| String | ✔ |
defines an access token for accessing Github repos. To learn more see GitHub tokens.
This value should be set via an environment variable:
githubPullBranch
Target branch.
| Type | Default |
|---|---|
| String | "" |
Specifies the branch to use when pulling from githubPullRepos. If omitted, use the repository's default branch.
githubPullFolders
Repo folders to pull.
| Type | Default |
|---|---|
| List | [] |
Identifies folder(s) within githubPullRepos to pull. if omitted, the entire repo is pulled.
This module is defined in github/module.yaml.