diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index d18c1d66..3e67c4af 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -1,8 +1,8 @@ name: GitHub CI on Push -run-name: Run the repo development process across all OSes for main & staging/next branches. +run-name: Run the repo development process across all OSes for main & next/staging/testing branches. on: push: - branches: [ main, staging, next ] + branches: [ main, staging, next, testing ] jobs: run-on-linux-deb: runs-on: ubuntu-latest @@ -13,10 +13,7 @@ jobs: - run: . ./ci.cmd prepare - run: . ./ci.cmd test - run: . ./ci.cmd build - - run: . ./ci.cmd package - - run: . ./ci.cmd release - run: . ./ci.cmd compose - - run: . ./ci.cmd publish run-on-windows: runs-on: windows-latest steps: @@ -26,10 +23,7 @@ jobs: - run: .\ci.cmd prepare - run: .\ci.cmd test - run: .\ci.cmd build - - run: .\ci.cmd package - - run: .\ci.cmd release - run: .\ci.cmd compose - - run: .\ci.cmd publish run-on-macos: runs-on: macos-latest steps: @@ -39,7 +33,4 @@ jobs: - run: . ./ci.cmd prepare - run: . ./ci.cmd test - run: . ./ci.cmd build - - run: . ./ci.cmd package - - run: . ./ci.cmd release - run: . ./ci.cmd compose - - run: . ./ci.cmd publish diff --git a/CONFIG.toml b/CONFIG.toml index c2a0a7bb..e53df36b 100644 --- a/CONFIG.toml +++ b/CONFIG.toml @@ -14,9 +14,9 @@ PROJECT_VERSION = "0.0.1" # PROJECT STRUCTURE -PROJECT_PATH_TOOLS = "tools" # relative to root -PROJECT_PATH_BUILD = "build" # relative to root -PROJECT_PATH_TEMP = "tmp" # relative to root -PROJECT_PATH_SOURCE = "src" # relative to root -PROJECT_PATH_CI = "ci" # relative to root -PROJECT_PATH_PKG = "pkg" # relative to root +PROJECT_PATH_TOOLS = "tools" # relative to repository root +PROJECT_PATH_BUILD = "build" # relative to repository root +PROJECT_PATH_TEMP = "tmp" # relative to repository root +PROJECT_PATH_SOURCE = "src" # relative to repository root +PROJECT_PATH_CI = "ci" # relative to repository root +PROJECT_PATH_PKG = "pkg" # relative to repository root diff --git a/README.md b/README.md index ab39a783..2c651dac 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,10 @@ repository. > all the output logos OR delete them entirely. > 2. Update this `README.md` especially dealing with title + anything below for > marking and business objectives (like WHY then HOW). -> 3. Add a `LICENSE.md` file with the appropriate license(s). +> 3. Select A `LICENSE.pdf` file with the appropriate license(s). > 4. Add a `CODE_OF_CONDUCT.md` file with the appropriate legal clauses(s). -> 5. Update the `automata/*.cmd` CI executions matching the project. +> 5. Update the `CONFIG.toml` matching the project metadata. +> 5. Update the `automata/*` CI executions instructions matching the project. > 6. Delete this blockquote once everything is completed. @@ -44,6 +45,7 @@ maintainers. ### Directory Structure ``` automata/ 🠚 house the projects' CI automation scripts. +automata/services 🠚 house tested and pre-built CI automation functions. bin/ 🠚 default build output directory. pkg/ 🠚 default package output directory. resources/ 🠚 housing all indirect raw materials and assets. @@ -60,6 +62,18 @@ SECURITY.md 🠚 repository's security instruction file. +### Branch Management +The default uses the following branch managements: + +``` +main = for customers who use git (house stable releases) +next || staging || testing = [OPTIONAL] for test developers to test the next release +edge || experimental = for project maintainer to develop new feature. +``` + + + + ### Native Continuous Integration (Native CI) Infrastructure This repository is governed by a native CI scripted using [Polygot Script](https://github.com/ChewKeanHo/PolygotScript) called `ci.cmd`. @@ -187,6 +201,25 @@ $ ./ci.cmd publish +### GitHub Actions +By default, the GitHub action only executes in this sequence: + +1. `setup` +2. `start` +3. `prepare` +4. `test` +5. `build` +6. `compose` + +for `git push` against `main`, `next`, `staging`, or `testing` branches. + +For `package`, `release`, and `publish` CI jobs, due to the invovlement of +private identitiy signing keys, they are best to be implemented at the local +side (to protect the key from any unnecessary leak due to 3rd-party). + + + + ## License This project is licensed under multiple licenses such that: