Skip to content

Decathlon/ara

Repository files navigation

Logo ARA - Agile Regression Analyzer

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 Demo walkthrough to explore ARA features !!

Please note the following :

  • You’ll need 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:

helm repo add ara https://decathlon.github.io/ara/
  • Update repositories

helm repo update
  • Install it with custom values

helm install -f values.yaml --create-namespace --namespace ara my-ara ara/ara-stable

A sample values.yaml could be like this one:

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.<code>)
    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:

helm install -f values.yaml --create-namespace --namespace ara my-ara ara/ara-candidate

How to Use ARA?

You can go through the Demo Walkthrough to quickly learn how to use ARA.

You can also read the User Documentation 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 Developer Documentation 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 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