<commit_before># CuPy CI

CuPy uses two infrastructures for GPU tests.

* FlexCI (`pfn-public-ci`): GCP, Linux/Windows + CUDA tests
* Jenkins: on-premise, Linux + ROCm tests

This directory contains the test matrix definition, and a tool to generate test environment from the matrix.

* [`schema.yaml`](schema.yml) defines all the possible values for each test axis (e.g., `cuda`, `python`, `numpy`), and constraints between them.
* [`matrix.yaml`](matrix.yml) defines the configuration of each test matrix (e.g., `cupy.linux.cuda115`.)
* [`generate.py`](generate.py) generates the test assets (Dockerfile/shell script for Linux, PowerShell script for Windows) for each matrix from the schema and the matrix.
  This program also generates the following files:
    * [`config.tags.json`](config.tags.json): mapping of test matrices and test trigger phrases
    * [`coverage.md`](coverage.md): human-readable configuration coverage table
* [`config.pbtxt`](config.pbtxt) is a FlexCI configuration file that defines launch configurations of each test matrix.

## Usage

To generate `linux/tests/*.Dockerfile`, `linux/tests/*.sh`, `config.tags.json`, and `coverage.md`:

```<commit_msg>fix dead links<commit_after># CuPy CI

CuPy uses two infrastructures for GPU tests.

* FlexCI (`pfn-public-ci`): GCP, Linux/Windows + CUDA tests
* Jenkins: on-premise, Linux + ROCm tests

This directory contains the test matrix definition, and a tool to generate test environment from the matrix.

* [`schema.yaml`](schema.yaml) defines all the possible values for each test axis (e.g., `cuda`, `python`, `numpy`), and constraints between them.
* [`matrix.yaml`](matrix.yaml) defines the configuration of each test matrix (e.g., `cupy.linux.cuda115`.)
* [`generate.py`](generate.py) generates the test assets (Dockerfile/shell script for Linux, PowerShell script for Windows) for each matrix from the schema and the matrix.
  This program also generates the following files:
    * [`config.tags.json`](config.tags.json): mapping of test matrices and test trigger phrases
    * [`coverage.md`](coverage.md): human-readable configuration coverage table
* [`config.pbtxt`](config.pbtxt) is a FlexCI configuration file that defines launch configurations of each test matrix.

## Usage

To generate `linux/tests/*.Dockerfile`, `linux/tests/*.sh`, `config.tags.json`, and `coverage.md`:

```
{'fraction_non_alphanumeric': 0.11998310097169412, 'fraction_numerical': 0.0025348542458808617, 'mean_word_length': 4.875930521091812, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2045753', 'n_tokens_mistral': 705, 'n_tokens_neox': 672, 'n_words': 264}