Skip to content

Commit

Permalink
root: fully implemented srcNODE with CI
Browse files Browse the repository at this point in the history
Since we now have a working srcNODE technology, we can implement
its technological support and its CI. Hence, let's do this.

This patch fully implements srcNODE with CI in root repository.

Co-authored-by: Shuralyov, Jean <[email protected]>
Co-authored-by: Galyna, Cory <[email protected]>
Co-authored-by: (Holloway) Chew, Kean Ho <[email protected]>
Signed-off-by: (Holloway) Chew, Kean Ho <[email protected]>
  • Loading branch information
3 people committed Jun 7, 2024
1 parent 4414760 commit 03f306f
Show file tree
Hide file tree
Showing 64 changed files with 2,787 additions and 173 deletions.
113 changes: 92 additions & 21 deletions CONFIG.toml
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,13 @@ PRODUCT_APP_UUID = "76C7A54E-7360-CB70-1A5E-44D8A00CCB30"
# PROJECT_NAME
# This is the name of the product used in documentation, marketing addresses
# etc only. For programming purposes, PROJECT_SKU is used instead.
PROJECT_NAME = "AutomataCI"
PROJECT_NAME = "Chew Kean Ho's AutomataCI"


# PROJECT_PITCH
# A short elevator pitch about the project used as a short description. Max
# Max: 60 characters.
PROJECT_PITCH = "Solid Foundation for Kickstarting Your Software Development"
PROJECT_PITCH = "A redistributable & semi-autonomous CI infrastructure."


# PROJECT_VERSION
Expand Down Expand Up @@ -103,33 +103,39 @@ PROJECT_CADENCE = "1"
PROJECT_LICENSE = "Apache-2.0"


# PROJECT_SCOPE
# The scope of the project being housed in (e.g.
# GitHub Username|Organization Name, NPMJS scope, etc). This is required for
# certain packages' ecosystems such as but not limited to NPM.
PROJECT_SCOPE = "chewkeanho"


# PROJECT_CONTACT_BRAND
# Entity's short brand name.
# It should be in lowercase and should not be using dash ('-'),
# underscore ('_'), and space (' ') for maximum compatibility.
PROJECT_CONTACT_BRAND = "mybrand"
# Contact Entity's short brand name. It should be in lowercase and should not be
# using dash ('-'), underscore ('_'), and space (' ') for maximum compatibility.
PROJECT_CONTACT_BRAND = "chewkeanho"


# PROJECT_CONTACT_BRAND_TITLECASE
# The titlecase version of PROJECT_CONTACT_BRAND. Used in certain packager
# control scripts like MSI. Conditions is the same as PROJECT_CONTACT_BRAND
# except it is in the TitleCase representation.
PROJECT_CONTACT_BRAND_TITLECASE = "myBRAND"
PROJECT_CONTACT_BRAND_TITLECASE = "ChewKeanHo"


# PROJECT_CONTACT_NAME
# Entity's full name for inquiries.
PROJECT_CONTACT_NAME = "Your Legal Full Name Here"
PROJECT_CONTACT_NAME = "(Holloway) Chew, Kean Ho"


# PROJECT_CONTACT_EMAIL
# Entity's email channel for email communications.
PROJECT_CONTACT_EMAIL = "[email protected]"
PROJECT_CONTACT_EMAIL = "[email protected]"


# PROJECT_CONTACT_WEBSITE
# Entity's website channel for sourcing information.
PROJECT_CONTACT_WEBSITE = "https://your-product.website.here"
PROJECT_CONTACT_WEBSITE = "https://github.com/ChewKeanHo/AutomataCI"


# PROJECT_SOURCE_URL
Expand Down Expand Up @@ -166,8 +172,8 @@ AUTOMATACI_LANG = ""
# This is a control variable used for enabling Angular technology and also
# defining its source codes directory relative to PROJECT_PATH_ROOT. Depending
# on the offered service (e.g. GitHub Actions), setting this variable with value
# shall notify the CI provider to setup Go development environment
# automatically.
# shall notify the CI provider to setup a localized virtual environment for
# development automatically.
#
# To enable it: simply supply the path (e.g. default is 'srcANGULAR').
# To disable it: simply supply an empty path (e.g. default is '').
Expand All @@ -183,7 +189,8 @@ PROJECT_ANGULAR = ''
# This is a control variable used for enabling C technology and also defining
# its source codes directory relative to PROJECT_PATH_ROOT. Depending on the
# offered service (e.g. GitHub Actions), setting this variable with value shall
# notify the CI provider to setup Go development environment automatically.
# notify the CI provider to setup a localized virtual environment for
# development automatically.
#
# To enable it: simply supply the path (e.g. default is 'srcC').
# To disable it: simply supply an empty path (e.g. default is '').
Expand Down Expand Up @@ -393,7 +400,8 @@ GOOGLEAI_BLOCK_HARASSMENT = 'BLOCK_NONE'
# This is a control variable used for enabling LibreOffice technology and also
# defining its source directory relative to PROJECT_PATH_ROOT. Depending on the
# offered service (e.g. GitHub Actions), setting this variable with value shall
# notify the CI provider to setup Go development environment automatically.
# notify the CI provider to setup a localized virtual environment for
# development automatically.
#
# To enable it: simply supply the path (e.g. default is 'srcLIBREOFFICE').
# To disable it: simply supply an empty path (e.g. default is '').
Expand Down Expand Up @@ -430,7 +438,8 @@ PROJECT_LIBREOFFICE_VERSION = "24.2.1"
# This is a control variable used for enabling Go technology and also defining
# its source codes directory relative to PROJECT_PATH_ROOT. Depending on the
# offered service (e.g. GitHub Actions), setting this variable with value shall
# notify the CI provider to setup Go development environment automatically.
# notify the CI provider to setup a localized virtual environment for
# development automatically.
#
# To enable it: simply supply the path (e.g. default is 'srcGO').
# To disable it: simply supply an empty path (e.g. default is '').
Expand All @@ -452,7 +461,8 @@ PROJECT_PATH_GO_ENGINE = "go-engine"
# This is a control variable used for enabling Nim technology and also defining
# its source codes directory relative to PROJECT_PATH_ROOT. Depending on the
# offered service (e.g. GitHub Actions), setting this variable with value shall
# notify the CI provider to setup Go development environment automatically.
# notify the CI provider to setup a localized virtual environment for
# development automatically.
#
# To enable it: simply supply the path (e.g. default is 'srcNIM').
# To disable it: simply supply an empty path (e.g. default is '').
Expand All @@ -467,19 +477,80 @@ PROJECT_PATH_NIM_ENGINE = "nim-engine"



######################
# NODE TECHNOLOGY #
######################
# PROJECT_NODE
# This is a control variable used for enabling NodeJS technology and also
# defining its source codes directory relative to PROJECT_PATH_ROOT. Depending
# on the offered service (e.g. GitHub Actions), setting this variable with value
# shall notify the CI provider to setup a localized virtual environment for
# development automatically.
#
# To enable it: simply supply the path (e.g. default is 'srcNODE').
# To disable it: simply supply an empty path (e.g. default is '').
PROJECT_NODE = 'srcNODE'


# PROJECT_PATH_NODE_ENGINE
# This is a relative pathing to PROJECT_PATH_ROOT + PROJECT_PATH_TOOLS for
# setting up localized virtual environment.
PROJECT_PATH_NODE_ENGINE = "node-engine"


# PROJECT_NODE_VERSION
# This is to specify which version of node to be downloaded for the project
# as the localized virtual environment engine. Please refer to:
# https://nodejs.org/en/download/prebuilt-binaries/current
# for values.
#
# Leaving it empty shall set AutomataCI to use the system-level NodeJS
# (e.g: your pre-configured NodeJS).
#
# To enable: specify a version (e.g. 'v22.2.0')
# To disable: keep it empty ('').
PROJECT_NODE_VERSION = 'v22.2.0'


# PROJECT_NODE_LOCALIZED
# This is a flag environment variable when a localized virtual environment for
# NodeJS is active. This is useful for detecting which nodeJS engine you're
# currently using for the project in a given terminal.
#
# When active, The variable's value is the pathing to the engine itself.
#
# This variable is reserved by the activator script created autonomously by
# AutomataCI.
#PROJECT_NODE_LOCALIZED - Reserved


# PROJECT_NODE_NPM_REGISTRY
# The registry URL for publishing the NPM packages.
#
# The following are identified:
#
# GitHub Packages: 'https://npm.pkg.github.com'
# NPMJS : 'https://registry.npmjs.com'
#
# Default is: 'https://npm.pkg.github.com'
PROJECT_NODE_NPM_REGISTRY = 'https://npm.pkg.github.com'




######################
# PYTHON TECHNOLOGY #
######################
# PROJECT_PYTHON
# This is a control variable used for enabling Python technology and also
# defining its source codes directory relative to PROJECT_PATH_ROOT.
# Depending on the offered service (e.g. GitHub Actions), setting this
# variable with value shall notify the CI provider to setup Python development
# environment automatically.
# variable with value shall notify the CI provider to setup a localized virtual
# environment for development automatically.
#
# To enable it: simply supply the path (e.g. default is 'srcPYTHON').
# To disable it: simply supply an empty path (e.g. default is '').
PROJECT_PYTHON = 'srcPYTHON'
PROJECT_PYTHON = ''


# PROJECT_PATH_PYTHON_ENGINE
Expand Down Expand Up @@ -725,14 +796,14 @@ PROJECT_STATIC_REPO_DIRECTORY = "static"
# security access or the ecosystem is not using Release Job at all (e.g. GitHub
# Actions).
#
# PROJECT_SIMULATE_RELEASE_REPO = "" # Reserved - provided by external.
# PROJECT_SIMULATE_RELEASE_REPO = "" # Reserved - provided externally.


# PROJECT_ROBOT_RUN
# A flag to indicate the run is operating inside a CI service by its
# autonomous robot.
#
# PROJECT_ROBOT_RUN = "" # Reserved - provided by external.
# PROJECT_ROBOT_RUN = "" # Reserved - provided externally.


# PROJECT_STATIC_URL
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# AutomataCI
[![AutomataCI](src/icons/banner_1200x200.svg)](#automataci)

A multi-purpose Git template repository with built-in natively operable
semi-autonomous CI infrastructure.
An open-source, redistributable, template-guided, and semi-autonomous CI
infrastructure readily available your next project.

***Run the CI with full-force anywhere anytime without solely depending on any
3rd-party provider***.
Expand Down Expand Up @@ -93,6 +93,7 @@ compile cross-platform images whenever possible.
1. [Standard Go](https://go.dev/)
* Javascript & Typescript Web Frameworks
1. [Angular](https://angular.io/) (*`srcANGULAR`*)
2. [NodeJS](https://nodejs.org/) (*`srcNODE`*)
* [Nim Programming Language](https://nim-lang.org/) (*`srcNIM`*)
* [Python Programming Language](https://www.python.org/) (*`srcPYTHON`*)
* [Rust Programming Language](https://www.rust-lang.org/) (*`srcRUST`*)
Expand Down
107 changes: 64 additions & 43 deletions automataCI/SECRETS-template.toml
Original file line number Diff line number Diff line change
@@ -1,27 +1,30 @@
######################
# PYTHON TECHNOLOGY #
######################
# TWINE_USERNAME
# Use for logging in a PyPi server. This is the account username. Only used
# when PROJECT_PYTHON is enabled.
TWINE_USERNAME = ""
##########################
# APPLE #
##########################
# APPLE_DEVELOPER_ID
# The developer ID used for notarization process.
APPLE_DEVELOPER_ID = ""

# APPLE_KEYCHAIN_PROFILE
# The keychain access used for accessing notarization credentials.
APPLE_KEYCHAIN_PROFILE = ""

# TWINE_PASSWORD
# Use for logging in a PyPi server. This is the account password. Only used
# when PROJECT_PYTHON is enabled.
TWINE_PASSWORD = ""



##########################
# CONTAINER #
##########################
# CONTAINER_USERNAME
# Use to login your container image's registry's service provider (e.g. Docker,
# GitHub Packages) etc. This is the account username.
CONTAINER_USERNAME = ""

######################
# RUST TECHNOLOGY #
######################
# CARGO_PASSWORD
# Use for logging in a Cargo registry server. This is the account
# password/secret token. Only used when PROJECT_RUST is enabled.
CARGO_PASSWORD = ""

# CONTAINER_PASSWORD
# Use to login your container image's registry's service provider (e.g. Docker,
# GitHub Packages) etc. This is the account password or token value.
CONTAINER_PASSWORD = ""



Expand All @@ -35,16 +38,18 @@ CARGO_PASSWORD = ""
PROJECT_GPG_ID =""


# CONTAINER_USERNAME
# Use to login your container image's registry's service provider (e.g. Docker,
# GitHub Packages) etc. This is the account username.
CONTAINER_USERNAME = ""


# CONTAINER_PASSWORD
# Use to login your container image's registry's service provider (e.g. Docker,
# GitHub Packages) etc. This is the account password or token value.
CONTAINER_PASSWORD = ""
######################
# GOOGLE AI #
######################
# GOOGLEAI_API_TOKEN
# This is the authentication API token provided by Google AI using Google AI
# Studio. A token can be procured from:
# (1) https://aistudio.google.com/ (look for 'Get API Key' button)
#
# Without this token, GOOGLEAI library will not function at all.
GOOGLEAI_API_TOKEN = ''



Expand Down Expand Up @@ -103,27 +108,43 @@ MICROSOFT_CERT_PASSWORD = ""



##########################
# APPLE #
##########################
# APPLE_DEVELOPER_ID
# The developer ID used for notarization process.
APPLE_DEVELOPER_ID = ""
######################
# NPM TECHNOLOGY #
######################
# NPM_USERNAME
# The username for login.
NPM_USERNAME = ""

# APPLE_KEYCHAIN_PROFILE
# The keychain access used for accessing notarization credentials.
APPLE_KEYCHAIN_PROFILE = ""

# NPM_TOKEN
# The Authentication token (e.g. _authToken) for logging into the corresponding
# NPM registry defined in the CONFIG.toml.
NPM_TOKEN = ""




######################
# GOOGLE AI #
# PYTHON TECHNOLOGY #
######################
# GOOGLEAI_API_TOKEN
# This is the authentication API token provided by Google AI using Google AI
# Studio. A token can be procured from:
# (1) https://aistudio.google.com/ (look for 'Get API Key' button)
#
# Without this token, GOOGLEAI library will not function at all.
GOOGLEAI_API_TOKEN = ''
# TWINE_USERNAME
# Use for logging in a PyPi server. This is the account username. Only used
# when PROJECT_PYTHON is enabled.
TWINE_USERNAME = ""


# TWINE_PASSWORD
# Use for logging in a PyPi server. This is the account password. Only used
# when PROJECT_PYTHON is enabled.
TWINE_PASSWORD = ""




######################
# RUST TECHNOLOGY #
######################
# CARGO_PASSWORD
# Use for logging in a Cargo registry server. This is the account
# password/secret token. Only used when PROJECT_RUST is enabled.
CARGO_PASSWORD = ""
Loading

0 comments on commit 03f306f

Please sign in to comment.