Decathlon / Decathlon/ara

Add the possibility to manage several temporary cycle

Open
#36 0 comments 0 reactions 0 assignees View on GitHub
Feature Request P3
Dominant language
Java
Stars
80
Forks
17
PR merge metrics
No merged PRs in 30d

Description

# Add the possibility to manage several temporary cycle

## Context
Currently, ARA only track main branches executions: master, develop, stab…​

## Goal
In a context of feature-branching projects, execution of integration tests are more likely to fail on branches.
ARA should then be able to index results of tests in ephemeral branches.
New cycles should be created as new branches become available.
Such feature-branch results should be displayed in ARA.
Such branches should be removed from ARA when they are deleted from VCS repository.

## Technical Details
Beware such branches have '/' (and other special characters) in their names: encode them as '%2F' in URLs or FileSystem folders…​ Also make sure all allowed characters in a Git branch names are supported or escaped.

* GitLab: use Push Events to detect when a new branch is created: https://docs.gitlab.com/ce/user/project/integrations/webhooks.html#push-events
* GitLab: use polling to remove branches in ARA as they are removed from Git
* GitHub: Push Events are possible for both branch creation and deletion

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing how ARA currently indexes main-branch cycles, then review the GitLab Push Events and GitHub Push Events entry points described in the issue. Define completion around creating cycles for new branches, displaying their test results, safely handling branch names in URLs or filesystem paths, and removing cycles when branches are deleted.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, github, gitlab, java
Domain
backend, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.