Skip to content

refactor(forms): centralize end user input name #27427

refactor(forms): centralize end user input name

refactor(forms): centralize end user input name #27427

Workflow file for this run

name: "GLPI CI"
on:
# Runs test suite when a new commit is pushed on "main" and "*/bugfixes" branches
# and when a new tag is created
push:
branches:
- main
- '*/bugfixes'
- 'feature/*'
- 'fix/*'
- 'security/*'
tags:
- '*'
# Runs test suite when a PR is opened or synchronyzed
pull_request:
# Runs test suite every night
schedule:
- cron: '0 0 * * *'
# Enable manual run
workflow_dispatch:
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
jobs:
lint:
# Do not run scheduled lint on tier repositories
if: github.repository == 'glpi-project/glpi' || github.event_name != 'schedule'
name: "Lint on PHP ${{ matrix.php-version }}"
runs-on: "ubuntu-latest"
strategy:
fail-fast: false
matrix:
include:
- {php-version: "8.2"} # Lint on lower PHP version to detected too early usage of new syntaxes
- {php-version: "8.3"} # Lint on higher PHP version to detected deprecated elements usage
env:
COMPOSE_FILE: ".github/actions/docker-compose-app.yml"
APPLICATION_ROOT: "${{ github.workspace }}"
PHP_IMAGE: "githubactions-php-apache:${{ matrix.php-version }}"
UPDATE_FILES_ACL: true
steps:
- name: "Set env"
run: |
echo "APP_CONTAINER_HOME=${{ runner.temp }}/app_home" >> $GITHUB_ENV
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Restore dependencies cache"
uses: actions/cache@v4
with:
path: |
${{ env.APP_CONTAINER_HOME }}/.composer/cache/
${{ env.APP_CONTAINER_HOME }}/.npm/_cacache/
key: "app_home_deps-${{ matrix.php-version }}-${{ hashFiles('composer.lock', 'package-lock.json') }}"
restore-keys: |
app_home_deps-${{ matrix.php-version }}-
app_home_deps-
- name: "Restore lint cache"
uses: actions/cache@v4
with:
path: |
${{ env.APP_CONTAINER_HOME }}/phpcs.cache
key: "app_home_lint-${{ matrix.php-version }}-${{ github.base_ref || github.ref }}"
restore-keys: |
app_home_lint-${{ matrix.php-version }}
app_home_lint-
- name: "Initialize containers"
run: |
.github/actions/init_containers-start.sh
- name: "Show versions"
run: |
.github/actions/init_show-versions.sh
- name: "Force used PHP version"
run: |
docker compose exec -T app composer config --unset platform.php
docker compose exec -T app composer require "php:>=${{ matrix.php-version }}" --ignore-platform-req=php+ --no-install --no-scripts
- name: "Build dependencies / translations"
run: |
docker compose exec -T app .github/actions/init_build.sh
- name: "PHP lint"
run: |
docker compose exec -T app .github/actions/lint_php-lint.sh
- name: "Twig lint"
run: |
docker compose exec -T app .github/actions/lint_twig-lint.sh
- name: "JS lint"
run: |
docker compose exec -T app .github/actions/lint_js-lint.sh
- name: "SCSS lint"
run: |
docker compose exec -T app .github/actions/lint_scss-lint.sh
- name: "Misc lint"
run: |
docker compose exec -T app .github/actions/lint_misc-lint.sh
tests:
# Do not run scheduled tests on tier repositories
if: github.repository == 'glpi-project/glpi' || github.event_name != 'schedule'
name: "Test on PHP ${{ matrix.php-version }} using ${{ matrix.db-image }}"
runs-on: "ubuntu-latest"
strategy:
fail-fast: false
matrix:
include:
# test higher PHP version with higher MariaDB and MySQL versions
- {php-version: "8.3", db-image: "mariadb:10.11", always: true}
- {php-version: "8.3", db-image: "mysql:8.0", always: true}
# test other PHP versions
- {php-version: "8.2", db-image: "mariadb:10.11", always: false}
# test other DB servers/versions
- {php-version: "8.3", db-image: "mariadb:10.5", always: false}
- {php-version: "8.3", db-image: "percona:8.0", always: false}
env:
# Skip jobs that should not be always run on pull requests or on push on tier repository (to limit workers usage).
# No jobs will be skipped on nightly build, manual dispatch or push on main branches (main and */bugfixes) or tags.
skip: ${{ matrix.always == false && (github.event_name == 'pull_request' || github.repository != 'glpi-project/glpi' || !(github.event_name == 'workflow_dispatch' || github.ref == 'refs/heads/main' || endsWith(github.ref, '/bugfixes') || startsWith(github.ref, 'refs/tags'))) }}
COMPOSE_FILE: ".github/actions/docker-compose-app.yml:.github/actions/docker-compose-services.yml"
APPLICATION_ROOT: "${{ github.workspace }}"
DB_IMAGE: "githubactions-${{ matrix.db-image }}"
PHP_IMAGE: "githubactions-php-apache:${{ matrix.php-version }}"
UPDATE_FILES_ACL: true
steps:
- name: "Set env"
run: |
echo "APP_CONTAINER_HOME=${{ runner.temp }}/app_home" >> $GITHUB_ENV
- name: "Checkout"
if: env.skip != 'true'
uses: "actions/checkout@v4"
- name: "Restore dependencies cache"
if: env.skip != 'true'
uses: actions/cache@v4
with:
path: |
${{ env.APP_CONTAINER_HOME }}/.composer/cache/
${{ env.APP_CONTAINER_HOME }}/.npm/_cacache/
key: "app_home_deps-${{ matrix.php-version }}-${{ hashFiles('composer.lock', 'package-lock.json') }}"
restore-keys: |
app_home_deps-${{ matrix.php-version }}-
app_home_deps-
- name: "Initialize containers"
if: env.skip != 'true'
run: |
.github/actions/init_containers-start.sh
- name: "Show versions"
if: env.skip != 'true'
run: |
.github/actions/init_show-versions.sh
- name: "Build dependencies / translations"
if: env.skip != 'true'
run: |
docker compose exec -T app .github/actions/init_build.sh
- name: "Install DB tests"
if: env.skip != 'true'
run: |
docker compose exec -T app .github/actions/test_install.sh
- name: "Update DB tests (from 0.85.5, not using utf8mb4)"
if: env.skip != 'true'
run: |
.github/actions/init_initialize-0.85.5-db.sh
docker compose exec -T app .github/actions/test_update-from-older-version.sh
- name: "Update DB tests (from 9.5, using utf8mb4)"
if: env.skip != 'true'
run: |
.github/actions/init_initialize-9.5-db.sh
docker compose exec -T app .github/actions/test_update-from-9.5.sh
- name: "Unit tests"
if: env.skip != 'true'
run: |
docker compose exec -T app .github/actions/test_tests-units.sh
- name: "Functional tests"
if: env.skip != 'true'
run: |
docker compose exec -T app .github/actions/test_tests-functional.sh
- name: "Cache tests"
if: env.skip != 'true'
run: |
docker compose exec -T app .github/actions/test_tests-cache.sh
- name: "LDAP tests"
if: env.skip != 'true'
run: |
.github/actions/init_initialize-ldap-fixtures.sh
docker compose exec -T app .github/actions/test_tests-ldap.sh
- name: "IMAP tests"
if: env.skip != 'true'
run: |
.github/actions/init_initialize-imap-fixtures.sh
docker compose exec -T app .github/actions/test_tests-imap.sh
- name: "WEB tests"
if: env.skip != 'true'
run: |
docker compose exec -T app .github/actions/test_tests-web.sh
- name: "Javascript tests"
if: env.skip != 'true'
run: |
docker compose exec -T app .github/actions/test_javascript.sh
- name: "E2E tests"
id: "e2e"
if: env.skip != 'true'
run: |
docker compose exec -T app .github/actions/test_tests-e2e.sh
- name: "Upload Cypress screenshots"
if: "${{ failure() && steps.e2e.conclusion == 'failure' }}"
uses: actions/upload-artifact@v2
with:
name: cypress-screenshots
path: tests/cypress/screenshots