The filename pattern
The filename should have the following format:
${stage}.${language}.${action}.yml
Available stages
The available stages are taken from Quality Assistance Stages for Continuous Integration (QAS4CI), which are:
preflightThings that MUST pass before running the pipeline.testThings that MUST pass and DO mean the code is broken.quality(or: linting?) Things that SHOULD pass but DO NOT mean the code is broken.buildCreate assets from the working code.scanScan any created assets for vulnerabilities.deploySend the assets somewhere.manifestCreate manifests for assets (hashes, manifests, keys, etc.).publishPublish created manifests
These stages can be used to create dependencies in the pipeline, to reduce the time it takes to run the pipeline.
Languages
The list of languages contains, but is not limited to:
- CSS (
*.css,*.scss) - Docker (
Dockerfile) - HTML (
*.html) - Images (
*.png,*.jpg,*.svg) - Javascript (
*.js,*.mjs) - JSON (
*.json) - Markdown (
*.md) - PHP (
*.php) - PlantUML (
*.puml,*.iuml) - Shell (
*.bash, *.sh) - YAML (
*.yaml,*.yml) - XML (
*.xml)
Actions
The list of actions contains, but is not limited to:
lintscantestvalidate
For instance:
lint-syntaxlint-version-compatibilityscan-dependencies-vulnerabilitiestest-integrationtest-unitvalidate-dependencies-file
Examples
02.test.php.test-unit.yml03.quality.json.lint.yml03.quality.markdown.lint.yml03.quality.php.lint-syntax.yml03.quality.php.lint-version-compatibility.yml03.quality.php.validate-dependencies-file.yml03.quality.yaml.lint.yml04.build.docker.yml05.scan.php.dependencies.yml