Skip to content

Commit

Permalink
ref(17): Add more configuration on worflow pipeline (#18)
Browse files Browse the repository at this point in the history
  • Loading branch information
jeanjerome committed Sep 8, 2023
1 parent df09f0f commit 33c615a
Show file tree
Hide file tree
Showing 28 changed files with 369 additions and 781 deletions.
2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
library identifier: "wild@15-test-wild-on-jenkins", retriever: modernSCM(
library identifier: "wild@17-add-more-configurations-on-workflow-pipeline", retriever: modernSCM(
[$class: 'GitSCMSource',
remote: 'https://github.com/scalastic/wild.git',
credentialsId: 'wild-github-token']) _
Expand Down
38 changes: 20 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

![Wild](docs/images/wild.png)
![Wizard](docs/images/wizard.png)

[![License](https://img.shields.io/github/license/scalastic/wild.svg?style=flat-square)](https://github.com/scalastic/wild/blob/master/LICENSE)
[![bash](https://img.shields.io/badge/bash-4.4%2B-brightgreen)](https://www.gnu.org/software/bash/)
Expand All @@ -9,15 +9,15 @@
[![GitHub stars](https://img.shields.io/github/stars/scalastic/wild?style=social)](https://img.shields.io/github/stars/scalastic/wild?style=social)
[![GitHub forks](https://img.shields.io/github/forks/scalastic/wild?style=social)](https://img.shields.io/github/forks/scalastic/wild?style=social)

# Wide Integration with Lightweight Delivery
# Wizard - The Magical Integration Framework

`Wild` is a framework that allows you to run the same integration scripts locally and on the server. It is designed to be used by developers and CI/CD platforms.
Welcome to Wizard, a versatile and magical framework that empowers you to effortlessly execute uniform integration scripts both locally and on your server. It caters to the needs of both developers and CI/CD platforms, weaving a touch of magic into your workflow.

`Wild` stands for **Wide Integration with Lightweight Delivery**. Due to its ***Wild*** nature, it fills the gap between the developer and the CI/CD platform by allowing to run the exact same integration and deployment scripts locally and on the server.
The acronym `WIZARD` represents its essence: **Wide Integration Zone And Runner Deployment**. Thanks to its unconventional and almost mystical nature, `Wizard` bridges the gap between developers and CI/CD platforms, enabling the seamless execution of identical integration and deployment scripts, whether on your local machine or the server.

Developers can test the operation of the CI/CD chain on their local station and no longer have to wait and wonder what will happen once their code is pushed on the integration servers.
With `Wizard`, developers gain the magical ability to thoroughly test their CI/CD pipeline's functionality directly on their local workstations, eliminating the need to speculate about the outcomes once their code is pushed to the integration servers.

`Wild` fills the missing link of the DevOps approach and its *shift-left* principal herein.
Embrace the enchantment of Wizard to fill the void in the DevOps approach and embody the "shift-left" principle with a sprinkle of magic.

----

Expand All @@ -28,7 +28,7 @@ Developers can test the operation of the CI/CD chain on their local station and
- [Requirements](#requirements)
- [Installation](#installation)
- [Tutorial](#tutorial)
- [Wild CLI](#wild-cli)
- [Wizard CLI](#wizard-cli)
- [Command options](#command-options)
- [Project directory](#project-directory)
- [Typical directory structure](#typical-directory-structure)
Expand All @@ -39,29 +39,31 @@ Developers can test the operation of the CI/CD chain on their local station and

## Supported platforms

Actualy `Wild` is designed to be used on the following platforms:
## Compatible Platforms

- Local
Currently, `Wizard` is tailored for seamless use on the following platforms:

- Your local environment (Unix-based systems)
- Jenkins
- GitLab-CI

## Supported technologies and extensibility
Please note that our magical integration framework may expand its compatibility with more platforms in the future. Stay tuned for updates!

## Requirements
## Prerequisites

To use `Wild` on your local station you need:
In order to utilize `Wizard` on your local machine, the following prerequisites must be met:

- [Bash](https://www.gnu.org/software/bash/) 4.4 or higher
- [Git](https://git-scm.com/) 2.0 or higher
- [Docker](https://www.docker.com/) 19.03 or higher
- [Bash](https://www.gnu.org/software/bash/) version 4.4 or newer
- [Git](https://git-scm.com/) version 2.0 or higher
- [Docker](https://www.docker.com/) version 19.03 or later

## Installation

### Install with Homebrew

```bash
brew tap scalastic/tap
brew install wild
brew install wizard
```

### Install with Git
Expand All @@ -72,12 +74,12 @@ git clone

## Tutorial

## Wild CLI
## Wizard CLI

### Usage

```bash
wild [options] [command]
wizard [options] [command]
```

### Command options
Expand Down
20 changes: 20 additions & 0 deletions config/json-schema/workflow-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,29 @@
"description": "Container where to execute the action",
"type": "string"
},
"pre_script": {
"description": "The Bash script filename defining the pre-action",
"type": "string"
},
"script": {
"description": "The Bash script filename defining the action",
"type": "string"
},
"post_script": {
"description": "The Bash script filename defining the post-action",
"type": "string"
},
"condition": {
"description": "Condition to execute this action",
"type": "string"
},
"resume": {
"description": "Resume this action at the end",
"type": "boolean"
},
"log_level": {
"description": "The log level to log",
"type": "string"
}
},
"required": ["id", "name", "container", "script"]
Expand Down
5 changes: 4 additions & 1 deletion config/workflow-default.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@
"id": "action1",
"name": "Action 1",
"container": "bash",
"script": "test/action/bash-version.sh"
"pre_script": "test/action/bash-version.sh",
"script": "test/action/bash-version.sh",
"post_script": "test/action/bash-version.sh",
"log_level": "DEBUG"
},
{
"id": "action2",
Expand Down
1 change: 1 addition & 0 deletions contrib/make_doc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ rm -rf docs/src
mkdir -p docs/src

export LOG_PATH="./log"
export LOG_LEVEL="1"

# shellcheck disable=SC2046 disable=SC2038
./src/lib/ext/gendoc.sh $(find src/lib -path src/lib/ext -prune -o -name '*.sh' -print | xargs echo)
Expand Down
2 changes: 1 addition & 1 deletion docs/src/lib/common.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
Common functions used in stage scripts

---------------------------------------
*Generated from [src/lib/common.sh](../../../src/lib/common.sh) on 11.08.2023 (writen with ✨ by [gendoc](../../../src/lib/ext/gendoc.sh))*
*Generated from [src/lib/common.sh](../../../src/lib/common.sh) on 08.09.2023 (writen with ✨ by [gendoc](../../../src/lib/ext/gendoc.sh))*
150 changes: 0 additions & 150 deletions docs/src/lib/ext/gendoc.md

This file was deleted.

Loading

0 comments on commit 33c615a

Please sign in to comment.