Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/decathlon/ara
Agile Regression Analyzer
https://github.com/decathlon/ara
cucumber hacktoberfest regression test
Last synced: 3 months ago
JSON representation
Agile Regression Analyzer
- Host: GitHub
- URL: https://github.com/decathlon/ara
- Owner: Decathlon
- License: apache-2.0
- Created: 2019-04-04T13:27:58.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-05-01T15:46:04.000Z (8 months ago)
- Last Synced: 2024-10-11T03:03:02.154Z (3 months ago)
- Topics: cucumber, hacktoberfest, regression, test
- Language: Java
- Homepage:
- Size: 24.6 MB
- Stars: 78
- Watchers: 7
- Forks: 19
- Open Issues: 167
-
Metadata Files:
- Readme: README.adoc
- License: LICENSE
Awesome Lists containing this project
README
= image:code/web-ui/src/assets/favicon.png[Logo,64,64] ARA - Agile Regression Analyzer
image:https://github.com/Decathlon/ara/actions/workflows/build.yaml/badge.svg?branch=main&event=push[BUILD] image:https://github.com/Decathlon/ara/actions/workflows/charts-release.yaml/badge.svg?branch=main&event=push[CHARTS]
image:https://img.shields.io/badge/commitizen-friendly-brightgreen.svg[link="http://commitizen.github.io/cz-cli/"] image:https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release[link="https://github.com/semantic-release/semantic-release"]
ARA icon by https://github.com/slaout[Sébastien Laout], licensed under https://creativecommons.org/licenses/by-nc-sa/4.0/[Creative Commons 4.0 Attributions license]
[#img-by-nc-sa]
[caption="Creative commons by-nc-sa logo: ",link=https://creativecommons.org/licenses/by-nc-sa/4.0/]
image::https://mirrors.creativecommons.org/presskit/buttons/88x31/png/by-nc-sa.png[Creative commons by-nc-sa logo,83,31]== What is ARA?
ARA helps you to fight against regressions by letting it preanalyze your non-regression tests runs,
tracks and follows problems, keep their history, and even break your CI build if quality isn't
met.== How to locally install it
If you just want to install it locally to give it a try, you can !
Also, after this installation, you can follow up the <>
to explore ARA features !!Please note the following :
* You'll need https://docs.docker.com/install/[Docker]
* All the datas that you import in ARA won't be persisted.
* The port 7000, 9000, 5432 must be available locally.
* Add to `/etc/hosts` (Linux OS) or to `/private/etc/hosts` (MacOS) or to `c:\Windows\System32\drivers\etc\` (Windows) `127.0.0.1 oauth2.dev.localhost`=== I've got a Windows PC !
1. Open a Powershell Command Prompt
2. Run the command `Invoke-WebRequest -OutFile docker compose.yml https://raw.githubusercontent.com/Decathlon/ara/main/code/docker-compose.yaml`
3. Run the command `docker compose up`
4. Open up a browser on `http://127.0.0.1:7000`
5. Enjoy ! You can sign in with `admin`/`admin`
6. To stop it, in the command line, just do a `docker compose down` in the same directory as the `docker-compose.yaml`
7. To restart it, in the command line do a `docker compose up` in the same directory as the `docker-compose.yaml`=== I've got a Mac !
1. Open a Terminal
2. Run the command `wget https://raw.githubusercontent.com/Decathlon/ara/main/code/docker-compose.yaml`
3. Run the command `docker compose up`
4. Open up a browser on `http://127.0.0.1:7000`
5. Enjoy ! You can sign in with `admin`/`admin`
6. To stop it, in the command line, just do a `docker compose down` in the same directory as the `docker-compose.yaml`
7. To restart it, in the command line do a `docker compose up` in the same directory as the `docker-compose.yaml`=== I've got a GNU/Linux PC !
1. Open a Terminal
2. Run the command `wget https://raw.githubusercontent.com/Decathlon/ara/main/code/docker-compose.yaml`
3. Run the command `docker compose up`
4. Open up a browser on `http://127.0.0.1:7000`
5. Enjoy ! You can sign in with `admin`/`admin`
6. To stop it, in the command line, just do a `docker compose down` in the same directory as the `docker-compose.yaml`
7. To restart it, in the command line do a `docker compose up` in the same directory as the `docker-compose.yaml`== How to install it on my Infrastructure
ARA has a Helm chart to easily install it in a Kubernetes Cluster.
* Add the ara repository if not already added:
```shell
helm repo add ara https://decathlon.github.io/ara/
```* Update repositories
```shell
helm repo update
```* Install it with custom values
```shell
helm install -f values.yaml --create-namespace --namespace ara my-ara ara/ara-stable
```A sample `values.yaml` could be like this one:
```yaml
api:
authentication: oauth2-github # Put a friendly value to disable default authentication
customConfig:
# Active providers
# provider-type has to be one of custom / github / google
# code refers to the provider key ( spring.security.oauth2.client.registration.)
oauth2providers:
conf:
- display-name: Github
provider-type: github
code: github# Oauth
spring:
security:
oauth2:
client:
registration:
github:
clientId: YOUR_OAUTH2_CLIENT_ID
clientSecret: YOUR_OAUTH2_CLIENT_SECRET
redirect-uri: "${ara.clientBaseUrl}/${ara.loginProcessingUrl}/{registrationId}"```
You can use any other OAuth2 provider supported by Spring Security (e.g. Facebook, Google, custom, etc.).
To install and ARA version on the candidate channel:
```shell
helm install -f values.yaml --create-namespace --namespace ara my-ara ara/ara-candidate
```== How to Use ARA?
You can go through the <> to quickly learn how to
use ARA.You can also read the <> to learn everything
you need to know about the utilization of ARA (don't hesitate to pass those doc to the rest of your teams ;) ).== How to Develop on ARA?
Please read the <>
to learn how the project is structured and how to develop new features in ARA and/or contribute.
To start a development environment:
----
> cd code
> docker compose -f code/docker-compose.dev.yml up -d
> docker compose -f code/docker-compose.dev.yml logs -f --tail 200
----=== Commit convention
ARA use https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-commit-message-format[Angular Commit Message Conventions] in order to generate nice changelog and increase maintenability and lisibility.
In local environment, you can use git hooks configured for developer.
To enable this tools, `node` is required. You can follow this step to use it:
```
npm install
```Then `git commit` command will trigger a prompt to build a proper commit message.
And that's all !
You can now use the standard `git commit` to interact with a prompt to build your conventional commits.
In order to disable the commitizen hook if needed, you can fill a specific environment variable:
```
export COMMITIZEN_HOOK_DISABLED=true
```With this, commitizen promp will be skiped.
[NOTE]
.Tools used
====
* https://github.com/commitizen/cz-cli[commitizen]
* https://github.com/typicode/husky[husky]
====