From 85f5695e4991eacef8c16d0c475890f4a18fcbdd Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Thu, 28 May 2026 23:18:27 +0200 Subject: [PATCH 01/27] Extract repeated setup steps into reusable composite actions --- .github/actions/setup-git/action.yml | 58 ++++++++++++++++ .github/actions/setup-node/action.yml | 79 ++++++++++++++++++++++ .github/actions/setup-php/action.yml | 56 +++++++++++++++ .github/workflows/automatic-release.yml | 7 -- .github/workflows/build-and-distribute.yml | 18 ++--- .github/workflows/coding-standards-php.yml | 17 ++--- .github/workflows/lint-php.yml | 16 ++--- .github/workflows/static-analysis-js.yml | 45 +++--------- .github/workflows/static-analysis-php.yml | 17 ++--- .github/workflows/test-playwright.yml | 40 +++-------- .github/workflows/tests-unit-js.yml | 48 +++---------- .github/workflows/tests-unit-php.yml | 15 ++-- .github/workflows/wp-scripts-lint.yml | 48 +++---------- 13 files changed, 253 insertions(+), 211 deletions(-) create mode 100644 .github/actions/setup-git/action.yml create mode 100644 .github/actions/setup-node/action.yml create mode 100644 .github/actions/setup-php/action.yml diff --git a/.github/actions/setup-git/action.yml b/.github/actions/setup-git/action.yml new file mode 100644 index 00000000..b04459cc --- /dev/null +++ b/.github/actions/setup-git/action.yml @@ -0,0 +1,58 @@ +name: Setup Git +description: Set up SSH agent, Git identity, and optional commit signing. + +inputs: + ssh-key: + description: Private SSH key for authentication. Skipped when empty. + default: '' + required: false + user-email: + description: Git user.email. Skipped when empty. + default: '' + required: false + user-name: + description: Git user.name. Skipped when empty. + default: '' + required: false + ssh-public-key: + description: Public SSH key for commit signing. Skipped when empty. + default: '' + required: false + push-auto-setup-remote: + description: Set push.autoSetupRemote and disable addIgnoredFile advice ('true' or 'false'). + default: 'false' + required: false + +runs: + using: composite + steps: + - name: Set up SSH + if: ${{ inputs.ssh-key != '' }} + uses: webfactory/ssh-agent@v0.9.1 + with: + ssh-private-key: ${{ inputs.ssh-key }} + + - name: Set up Git identity + if: ${{ inputs.user-email != '' && inputs.user-name != '' }} + shell: bash + run: | + git config --global user.email "${{ inputs.user-email }}" + git config --global user.name "${{ inputs.user-name }}" + + - name: Set up Git configuration + if: ${{ inputs.push-auto-setup-remote == 'true' }} + shell: bash + run: | + git config --global advice.addIgnoredFile false + git config --global push.autoSetupRemote true + + - name: Set up commit signing + if: ${{ inputs.ssh-public-key != '' }} + shell: bash + run: | + : # Create empty SSH private key file so Git does not complain. + touch "${{ runner.temp }}/signingkey" + echo "${{ inputs.ssh-public-key }}" > "${{ runner.temp }}/signingkey.pub" + git config --global commit.gpgsign true + git config --global gpg.format ssh + git config --global user.signingkey "${{ runner.temp }}/signingkey.pub" diff --git a/.github/actions/setup-node/action.yml b/.github/actions/setup-node/action.yml new file mode 100644 index 00000000..2efe799f --- /dev/null +++ b/.github/actions/setup-node/action.yml @@ -0,0 +1,79 @@ +name: Setup Node +description: Set up Node.js with cache detection and dependency installation. + +inputs: + node-version: + description: Node.js version to set up. + default: '18' + required: false + node-version-file: + description: Path to a file containing the Node version (takes precedence over node-version). + default: '' + required: false + registry-url: + description: npm registry URL. + default: 'https://npm.pkg.github.com/' + required: false + npm-auth-token: + description: Authentication token for the npm registry. + default: '' + required: false + node-options: + description: Space-separated list of command-line Node options. + default: '' + required: false + package-manager: + description: "Package manager to use (npm or yarn). Deprecated: yarn support will be removed in a future version." + default: 'npm' + required: false + install-dependencies: + description: Whether to install dependencies ('true' or 'false'). + default: 'true' + required: false + +runs: + using: composite + steps: + - name: Detect cache mode + id: cache-detection + shell: bash + run: | + CACHE_MODE="" + if [ "${{ inputs.package-manager }}" == 'npm' ] && { [ -f "${GITHUB_WORKSPACE}/package-lock.json" ] || [ -f "${GITHUB_WORKSPACE}/npm-shrinkwrap.json" ]; }; then + CACHE_MODE="npm" + elif [ "${{ inputs.package-manager }}" == 'yarn' ] && [ -f "${GITHUB_WORKSPACE}/yarn.lock" ]; then + CACHE_MODE="yarn" + else + echo "No lock files found for ${{ inputs.package-manager }}" + fi + echo "cache-mode=$CACHE_MODE" >> "$GITHUB_OUTPUT" + + - name: Set up Node.js + uses: actions/setup-node@v4 + env: + NODE_OPTIONS: ${{ inputs.node-options }} + NODE_AUTH_TOKEN: ${{ inputs.npm-auth-token }} + with: + node-version: ${{ inputs.node-version-file && '' || inputs.node-version }} + node-version-file: ${{ inputs.node-version-file }} + registry-url: ${{ inputs.registry-url }} + cache: ${{ steps.cache-detection.outputs.cache-mode }} + + - name: Install dependencies + if: ${{ inputs.install-dependencies == 'true' }} + shell: bash + run: | + CACHE_MODE="${{ steps.cache-detection.outputs.cache-mode }}" + if [ "${{ inputs.package-manager }}" == 'yarn' ]; then + if [ "$CACHE_MODE" == 'yarn' ]; then + yarn --frozen-lockfile + else + yarn install + fi + else + if [ "$CACHE_MODE" == 'npm' ]; then + npm ci + else + npm install + fi + fi diff --git a/.github/actions/setup-php/action.yml b/.github/actions/setup-php/action.yml new file mode 100644 index 00000000..0d81dd15 --- /dev/null +++ b/.github/actions/setup-php/action.yml @@ -0,0 +1,56 @@ +name: Setup PHP +description: Set up PHP with shivammathur/setup-php, validate and install Composer dependencies. + +inputs: + php-version: + description: PHP version to set up. + default: '8.2' + required: false + php-extensions: + description: PHP extensions to install or disable. + default: '' + required: false + php-tools: + description: PHP tools to install (e.g. composer, cs2pr, parallel-lint). + default: 'composer' + required: false + coverage: + description: Code coverage driver (none, xdebug, pcov, or empty for default). + default: 'none' + required: false + composer-install: + description: Whether to validate and install Composer dependencies ('true' or 'false'). + default: 'true' + required: false + composer-options: + description: Arguments passed to Composer install. + default: '--prefer-dist' + required: false + composer-auth-json: + description: Authentication for privately hosted packages and repositories as a JSON formatted object. + default: '' + required: false + +runs: + using: composite + steps: + - name: Set up PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ inputs.php-version }} + extensions: ${{ inputs.php-extensions }} + tools: ${{ inputs.php-tools }} + coverage: ${{ inputs.coverage }} + + - name: Validate composer.json and composer.lock + if: ${{ inputs.composer-install == 'true' }} + shell: bash + run: composer validate + + - name: Install Composer dependencies + if: ${{ inputs.composer-install == 'true' }} + uses: ramsey/composer-install@v3 + env: + COMPOSER_AUTH: ${{ inputs.composer-auth-json }} + with: + composer-options: ${{ inputs.composer-options }} diff --git a/.github/workflows/automatic-release.yml b/.github/workflows/automatic-release.yml index a2b6608f..b2b86029 100644 --- a/.github/workflows/automatic-release.yml +++ b/.github/workflows/automatic-release.yml @@ -128,10 +128,3 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_USER_TOKEN != '' && secrets.GITHUB_USER_TOKEN || secrets.GITHUB_TOKEN }} run: npx semantic-release - - name: Delete signing key files - env: - GITHUB_USER_SSH_PUBLIC_KEY: ${{ secrets.GITHUB_USER_SSH_PUBLIC_KEY }} - if: ${{ always() && env.GITHUB_USER_SSH_PUBLIC_KEY != '' }} - run: | - rm -f "${{ runner.temp }}/signingkey" - rm -f "${{ runner.temp }}/signingkey.pub" diff --git a/.github/workflows/build-and-distribute.yml b/.github/workflows/build-and-distribute.yml index 4550d057..40ca5f11 100644 --- a/.github/workflows/build-and-distribute.yml +++ b/.github/workflows/build-and-distribute.yml @@ -263,18 +263,13 @@ jobs: with: composer-options: ${{ inputs.COMPOSER_ARGS }} - - name: Set up node - uses: actions/setup-node@v4 - env: - NODE_OPTIONS: ${{ inputs.NODE_OPTIONS }} - NODE_AUTH_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }} + - name: Set up Node.js + uses: ./.github/actions/setup-node with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} - cache: npm - - - name: Install dependencies - run: npm ci + npm-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} + node-options: ${{ inputs.NODE_OPTIONS }} - name: Determine package type run: | @@ -386,8 +381,3 @@ jobs: include-hidden-files: true compression-level: 9 - - name: Delete signing key files - if: ${{ always() }} - run: | - rm -f "${{ runner.temp }}/signingkey" - rm -f "${{ runner.temp }}/signingkey.pub" diff --git a/.github/workflows/coding-standards-php.yml b/.github/workflows/coding-standards-php.yml index 40575fd3..941ad766 100644 --- a/.github/workflows/coding-standards-php.yml +++ b/.github/workflows/coding-standards-php.yml @@ -56,22 +56,13 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up PHP - uses: shivammathur/setup-php@v2 + uses: ./.github/actions/setup-php with: php-version: ${{ inputs.PHP_VERSION }} - extensions: ${{ inputs.PHP_EXTENSIONS }} - tools: composer, cs2pr - coverage: none - - - name: Validate composer.json and composer.lock - run: composer validate - - - name: Install Composer dependencies - uses: ramsey/composer-install@v3 - env: - COMPOSER_AUTH: '${{ secrets.COMPOSER_AUTH_JSON }}' - with: + php-extensions: ${{ inputs.PHP_EXTENSIONS }} + php-tools: 'composer, cs2pr' composer-options: ${{ inputs.COMPOSER_ARGS }} + composer-auth-json: ${{ secrets.COMPOSER_AUTH_JSON }} - name: Run PHP_CodeSniffer run: ./$(composer config bin-dir)/phpcs ${{ inputs.PHPCS_ARGS }} diff --git a/.github/workflows/lint-php.yml b/.github/workflows/lint-php.yml index 28c9397b..a67c81dc 100644 --- a/.github/workflows/lint-php.yml +++ b/.github/workflows/lint-php.yml @@ -56,20 +56,14 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up PHP - uses: shivammathur/setup-php@v2 + uses: ./.github/actions/setup-php with: php-version: ${{ inputs.PHP_VERSION }} - extensions: ${{ inputs.PHP_EXTENSIONS }} - tools: cs2pr, parallel-lint - coverage: none - - - name: Install Composer dependencies - if: ${{ inputs.COMPOSER_DEPS_INSTALL }} - uses: ramsey/composer-install@v3 - env: - COMPOSER_AUTH: '${{ secrets.COMPOSER_AUTH_JSON }}' - with: + php-extensions: ${{ inputs.PHP_EXTENSIONS }} + php-tools: 'cs2pr, parallel-lint' + composer-install: ${{ inputs.COMPOSER_DEPS_INSTALL }} composer-options: ${{ inputs.COMPOSER_ARGS }} + composer-auth-json: ${{ secrets.COMPOSER_AUTH_JSON }} - name: Run PHP lint check run: parallel-lint ${{ inputs.LINT_ARGS }} --checkstyle | cs2pr diff --git a/.github/workflows/static-analysis-js.yml b/.github/workflows/static-analysis-js.yml index 290f744c..18365f68 100644 --- a/.github/workflows/static-analysis-js.yml +++ b/.github/workflows/static-analysis-js.yml @@ -39,8 +39,6 @@ jobs: static-analysis-js: timeout-minutes: 5 runs-on: ubuntu-latest - env: - NODE_CACHE_MODE: '' steps: - name: Checkout uses: actions/checkout@v4 @@ -56,45 +54,20 @@ jobs: .parse(process.env.ENV_VARS) .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - - name: Set up SSH - env: - GITHUB_USER_SSH_KEY: ${{ secrets.GITHUB_USER_SSH_KEY }} - if: ${{ env.GITHUB_USER_SSH_KEY != '' }} - uses: webfactory/ssh-agent@v0.9.1 - with: - ssh-private-key: ${{ env.GITHUB_USER_SSH_KEY }} - - name: Set up Git - env: - GITHUB_USER_EMAIL: ${{ secrets.GITHUB_USER_EMAIL }} - GITHUB_USER_NAME: ${{ secrets.GITHUB_USER_NAME }} - if: ${{ env.GITHUB_USER_EMAIL != '' && env.GITHUB_USER_NAME != '' }} - run: | - git config --global user.email "${{ env.GITHUB_USER_EMAIL }}" - git config --global user.name "${{ env.GITHUB_USER_NAME }}" - - - name: Set up node cache mode - run: | - if [ -f "${GITHUB_WORKSPACE}/package-lock.json" ] || [ -f "${GITHUB_WORKSPACE}/npm-shrinkwrap.json" ]; then - echo "NODE_CACHE_MODE=npm" >> $GITHUB_ENV - else - echo "No lock files found" - fi + uses: ./.github/actions/setup-git + with: + ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} + user-email: ${{ secrets.GITHUB_USER_EMAIL }} + user-name: ${{ secrets.GITHUB_USER_NAME }} - - name: Set up node - uses: actions/setup-node@v4 - env: - NODE_OPTIONS: ${{ inputs.NODE_OPTIONS }} - NODE_AUTH_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }} + - name: Set up Node.js + uses: ./.github/actions/setup-node with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} - cache: ${{ env.NODE_CACHE_MODE }} - - - name: Install dependencies - env: - ARGS: ${{ env.NODE_CACHE_MODE == 'npm' && 'ci' || 'install' }} - run: ${{ format('npm {0}', env.ARGS) }} + npm-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} + node-options: ${{ inputs.NODE_OPTIONS }} - name: Run tsc run: ./node_modules/.bin/tsc --noEmit --skipLibCheck --pretty false diff --git a/.github/workflows/static-analysis-php.yml b/.github/workflows/static-analysis-php.yml index 61b8a333..8f0291f9 100644 --- a/.github/workflows/static-analysis-php.yml +++ b/.github/workflows/static-analysis-php.yml @@ -56,22 +56,13 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up PHP - uses: shivammathur/setup-php@v2 + uses: ./.github/actions/setup-php with: php-version: ${{ inputs.PHP_VERSION }} - extensions: ${{ inputs.PHP_EXTENSIONS }} - tools: composer, cs2pr - coverage: none - - - name: Validate composer.json and composer.lock - run: composer validate - - - name: Install Composer dependencies - uses: ramsey/composer-install@v3 - env: - COMPOSER_AUTH: '${{ secrets.COMPOSER_AUTH_JSON }}' - with: + php-extensions: ${{ inputs.PHP_EXTENSIONS }} + php-tools: 'composer, cs2pr' composer-options: ${{ inputs.COMPOSER_ARGS }} + composer-auth-json: ${{ secrets.COMPOSER_AUTH_JSON }} - name: Run Psalm if: ${{ hashFiles('psalm.xml', 'psalm.xml.dist') != '' }} diff --git a/.github/workflows/test-playwright.yml b/.github/workflows/test-playwright.yml index 371d8bb4..45a4c9b4 100644 --- a/.github/workflows/test-playwright.yml +++ b/.github/workflows/test-playwright.yml @@ -116,35 +116,16 @@ jobs: runs-on: ubuntu-latest env: PHP_CHECK: false - NODE_CACHE_MODE: '' steps: - name: Checkout uses: actions/checkout@v4 - - name: Set up SSH - env: - GITHUB_USER_SSH_KEY: ${{ secrets.GITHUB_USER_SSH_KEY }} - if: ${{ env.GITHUB_USER_SSH_KEY != '' }} - uses: webfactory/ssh-agent@v0.9.1 - with: - ssh-private-key: ${{ env.GITHUB_USER_SSH_KEY }} - - name: Set up Git - env: - GITHUB_USER_EMAIL: ${{ secrets.GITHUB_USER_EMAIL }} - GITHUB_USER_NAME: ${{ secrets.GITHUB_USER_NAME }} - if: ${{ env.GITHUB_USER_EMAIL != '' && env.GITHUB_USER_NAME != '' }} - run: | - git config --global user.email "${{ env.GITHUB_USER_EMAIL }}" - git config --global user.name "${{ env.GITHUB_USER_NAME }}" - - - name: Set up node cache mode - run: | - if [ -f "${GITHUB_WORKSPACE}/package-lock.json" ] || [ -f "${GITHUB_WORKSPACE}/npm-shrinkwrap.json" ]; then - echo "NODE_CACHE_MODE=npm" >> $GITHUB_ENV - else - echo "No lock files found or unknown package manager" - fi + uses: ./.github/actions/setup-git + with: + ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} + user-email: ${{ secrets.GITHUB_USER_EMAIL }} + user-name: ${{ secrets.GITHUB_USER_NAME }} - name: Set up PHP if: ${{ inputs.COMPOSER_DEPS_INSTALL }} @@ -163,17 +144,12 @@ jobs: with: composer-options: '--prefer-dist' - - name: Set up node - uses: actions/setup-node@v4 - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }} + - name: Set up Node.js + uses: ./.github/actions/setup-node with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} - cache: ${{ env.NODE_CACHE_MODE }} - - - name: Install dependencies - run: npm ${{ env.NODE_CACHE_MODE == 'npm' && 'ci' || 'install' }} + npm-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} - name: Build assets run: npm run build --if-present diff --git a/.github/workflows/tests-unit-js.yml b/.github/workflows/tests-unit-js.yml index e6725c18..c5856803 100644 --- a/.github/workflows/tests-unit-js.yml +++ b/.github/workflows/tests-unit-js.yml @@ -49,8 +49,6 @@ jobs: tests-unit-js: timeout-minutes: 5 runs-on: ubuntu-latest - env: - NODE_CACHE_MODE: '' steps: - name: PACKAGE_MANAGER deprecation warning if: ${{ inputs.PACKAGE_MANAGER != '' }} @@ -75,47 +73,21 @@ jobs: .parse(process.env.ENV_VARS) .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - - name: Set up SSH - env: - GITHUB_USER_SSH_KEY: ${{ secrets.GITHUB_USER_SSH_KEY }} - if: ${{ env.GITHUB_USER_SSH_KEY != '' }} - uses: webfactory/ssh-agent@v0.9.1 - with: - ssh-private-key: ${{ env.GITHUB_USER_SSH_KEY }} - - name: Set up Git - env: - GITHUB_USER_EMAIL: ${{ secrets.GITHUB_USER_EMAIL }} - GITHUB_USER_NAME: ${{ secrets.GITHUB_USER_NAME }} - if: ${{ env.GITHUB_USER_EMAIL != '' && env.GITHUB_USER_NAME != '' }} - run: | - git config --global user.email "${{ env.GITHUB_USER_EMAIL }}" - git config --global user.name "${{ env.GITHUB_USER_NAME }}" - - - name: Set up node cache mode - run: | - if [ "${{ inputs.PACKAGE_MANAGER }}" == 'npm' ] && { [ -f "${GITHUB_WORKSPACE}/package-lock.json" ] || [ -f "${GITHUB_WORKSPACE}/npm-shrinkwrap.json" ]; }; then - echo "NODE_CACHE_MODE=npm" >> $GITHUB_ENV - elif [ "${{ inputs.PACKAGE_MANAGER }}" == 'yarn' ] && [ -f "${GITHUB_WORKSPACE}/yarn.lock" ]; then - echo "NODE_CACHE_MODE=yarn" >> $GITHUB_ENV - else - echo "No lock files found or unknown package manager" - fi + uses: ./.github/actions/setup-git + with: + ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} + user-email: ${{ secrets.GITHUB_USER_EMAIL }} + user-name: ${{ secrets.GITHUB_USER_NAME }} - - name: Set up node - uses: actions/setup-node@v4 - env: - NODE_OPTIONS: ${{ inputs.NODE_OPTIONS }} - NODE_AUTH_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }} + - name: Set up Node.js + uses: ./.github/actions/setup-node with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} - cache: ${{ env.NODE_CACHE_MODE }} - - - name: Install dependencies - env: - ARGS: ${{ env.NODE_CACHE_MODE == 'yarn' && '--frozen-lockfile' || env.NODE_CACHE_MODE == 'npm' && 'ci' || 'install' }} - run: ${{ format('{0} {1}', inputs.PACKAGE_MANAGER, env.ARGS) }} + npm-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} + node-options: ${{ inputs.NODE_OPTIONS }} + package-manager: ${{ inputs.PACKAGE_MANAGER }} - name: Run Jest run: ./node_modules/.bin/jest ${{ inputs.JEST_ARGS }} diff --git a/.github/workflows/tests-unit-php.yml b/.github/workflows/tests-unit-php.yml index c91911ab..1f6a4993 100644 --- a/.github/workflows/tests-unit-php.yml +++ b/.github/workflows/tests-unit-php.yml @@ -51,20 +51,17 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up PHP - uses: shivammathur/setup-php@v2 + uses: ./.github/actions/setup-php with: php-version: ${{ inputs.PHP_VERSION }} - extensions: ${{ inputs.PHP_EXTENSIONS }} + php-extensions: ${{ inputs.PHP_EXTENSIONS }} + php-tools: '' + coverage: '' + composer-options: ${{ inputs.COMPOSER_ARGS }} + composer-auth-json: ${{ secrets.COMPOSER_AUTH_JSON }} - name: Set up problem matchers for PHPUnit run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" - - name: Install Composer dependencies - uses: ramsey/composer-install@v3 - env: - COMPOSER_AUTH: '${{ secrets.COMPOSER_AUTH_JSON }}' - with: - composer-options: ${{ inputs.COMPOSER_ARGS }} - - name: Run PHPUnit run: ./$(composer config bin-dir)/phpunit ${{ inputs.PHPUNIT_ARGS }} diff --git a/.github/workflows/wp-scripts-lint.yml b/.github/workflows/wp-scripts-lint.yml index 3b81f5f4..3db6c4c1 100644 --- a/.github/workflows/wp-scripts-lint.yml +++ b/.github/workflows/wp-scripts-lint.yml @@ -70,8 +70,6 @@ jobs: static-analysis-assets: timeout-minutes: 5 runs-on: ubuntu-latest - env: - NODE_CACHE_MODE: '' steps: - name: PACKAGE_MANAGER deprecation warning if: ${{ inputs.PACKAGE_MANAGER != '' }} @@ -96,47 +94,21 @@ jobs: .parse(process.env.ENV_VARS) .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - - name: Set up SSH - env: - GITHUB_USER_SSH_KEY: ${{ secrets.GITHUB_USER_SSH_KEY }} - if: ${{ env.GITHUB_USER_SSH_KEY != '' }} - uses: webfactory/ssh-agent@v0.9.1 - with: - ssh-private-key: ${{ env.GITHUB_USER_SSH_KEY }} - - name: Set up Git - env: - GITHUB_USER_EMAIL: ${{ secrets.GITHUB_USER_EMAIL }} - GITHUB_USER_NAME: ${{ secrets.GITHUB_USER_NAME }} - if: ${{ env.GITHUB_USER_EMAIL != '' && env.GITHUB_USER_NAME != '' }} - run: | - git config --global user.email "${{ env.GITHUB_USER_EMAIL }}" - git config --global user.name "${{ env.GITHUB_USER_NAME }}" - - - name: Set up node cache mode - run: | - if [ "${{ inputs.PACKAGE_MANAGER }}" == 'npm' ] && { [ -f "${GITHUB_WORKSPACE}/package-lock.json" ] || [ -f "${GITHUB_WORKSPACE}/npm-shrinkwrap.json" ]; }; then - echo "NODE_CACHE_MODE=npm" >> $GITHUB_ENV - elif [ "${{ inputs.PACKAGE_MANAGER }}" == 'yarn' ] && [ -f "${GITHUB_WORKSPACE}/yarn.lock" ]; then - echo "NODE_CACHE_MODE=yarn" >> $GITHUB_ENV - else - echo "No lock files found or unknown package manager" - fi + uses: ./.github/actions/setup-git + with: + ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} + user-email: ${{ secrets.GITHUB_USER_EMAIL }} + user-name: ${{ secrets.GITHUB_USER_NAME }} - - name: Set up node - uses: actions/setup-node@v4 - env: - NODE_OPTIONS: ${{ inputs.NODE_OPTIONS }} - NODE_AUTH_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }} + - name: Set up Node.js + uses: ./.github/actions/setup-node with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} - cache: ${{ env.NODE_CACHE_MODE }} - - - name: Install dependencies - env: - ARGS: ${{ env.NODE_CACHE_MODE == 'yarn' && '--frozen-lockfile' || env.NODE_CACHE_MODE == 'npm' && 'ci' || 'install' }} - run: ${{ format('{0} {1}', inputs.PACKAGE_MANAGER, env.ARGS) }} + npm-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} + node-options: ${{ inputs.NODE_OPTIONS }} + package-manager: ${{ inputs.PACKAGE_MANAGER }} - name: Lint script files if: ${{ contains(fromJSON(inputs.LINT_TOOLS), 'js') }} From bcc138dc1ac298d01d66118e39016af6d411cde5 Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Thu, 28 May 2026 23:26:50 +0200 Subject: [PATCH 02/27] Rename inputs --- .github/actions/setup-git/action.yml | 6 +++--- .github/actions/setup-node/action.yml | 4 ++-- .github/workflows/build-and-distribute.yml | 2 +- .github/workflows/static-analysis-js.yml | 4 ++-- .github/workflows/test-playwright.yml | 4 ++-- .github/workflows/tests-unit-js.yml | 4 ++-- .github/workflows/wp-scripts-lint.yml | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/actions/setup-git/action.yml b/.github/actions/setup-git/action.yml index b04459cc..f9ab1061 100644 --- a/.github/actions/setup-git/action.yml +++ b/.github/actions/setup-git/action.yml @@ -2,7 +2,7 @@ name: Setup Git description: Set up SSH agent, Git identity, and optional commit signing. inputs: - ssh-key: + ssh-private-key: description: Private SSH key for authentication. Skipped when empty. default: '' required: false @@ -27,10 +27,10 @@ runs: using: composite steps: - name: Set up SSH - if: ${{ inputs.ssh-key != '' }} + if: ${{ inputs.ssh-private-key != '' }} uses: webfactory/ssh-agent@v0.9.1 with: - ssh-private-key: ${{ inputs.ssh-key }} + ssh-private-key: ${{ inputs.ssh-private-key }} - name: Set up Git identity if: ${{ inputs.user-email != '' && inputs.user-name != '' }} diff --git a/.github/actions/setup-node/action.yml b/.github/actions/setup-node/action.yml index 2efe799f..94d0fae4 100644 --- a/.github/actions/setup-node/action.yml +++ b/.github/actions/setup-node/action.yml @@ -14,7 +14,7 @@ inputs: description: npm registry URL. default: 'https://npm.pkg.github.com/' required: false - npm-auth-token: + node-auth-token: description: Authentication token for the npm registry. default: '' required: false @@ -52,7 +52,7 @@ runs: uses: actions/setup-node@v4 env: NODE_OPTIONS: ${{ inputs.node-options }} - NODE_AUTH_TOKEN: ${{ inputs.npm-auth-token }} + NODE_AUTH_TOKEN: ${{ inputs.node-auth-token }} with: node-version: ${{ inputs.node-version-file && '' || inputs.node-version }} node-version-file: ${{ inputs.node-version-file }} diff --git a/.github/workflows/build-and-distribute.yml b/.github/workflows/build-and-distribute.yml index 40ca5f11..f1ec24e2 100644 --- a/.github/workflows/build-and-distribute.yml +++ b/.github/workflows/build-and-distribute.yml @@ -268,7 +268,7 @@ jobs: with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} - npm-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} + node-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} node-options: ${{ inputs.NODE_OPTIONS }} - name: Determine package type diff --git a/.github/workflows/static-analysis-js.yml b/.github/workflows/static-analysis-js.yml index 18365f68..7345d316 100644 --- a/.github/workflows/static-analysis-js.yml +++ b/.github/workflows/static-analysis-js.yml @@ -57,7 +57,7 @@ jobs: - name: Set up Git uses: ./.github/actions/setup-git with: - ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} + ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} user-email: ${{ secrets.GITHUB_USER_EMAIL }} user-name: ${{ secrets.GITHUB_USER_NAME }} @@ -66,7 +66,7 @@ jobs: with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} - npm-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} + node-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} node-options: ${{ inputs.NODE_OPTIONS }} - name: Run tsc diff --git a/.github/workflows/test-playwright.yml b/.github/workflows/test-playwright.yml index 45a4c9b4..b8b84f6f 100644 --- a/.github/workflows/test-playwright.yml +++ b/.github/workflows/test-playwright.yml @@ -123,7 +123,7 @@ jobs: - name: Set up Git uses: ./.github/actions/setup-git with: - ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} + ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} user-email: ${{ secrets.GITHUB_USER_EMAIL }} user-name: ${{ secrets.GITHUB_USER_NAME }} @@ -149,7 +149,7 @@ jobs: with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} - npm-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} + node-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} - name: Build assets run: npm run build --if-present diff --git a/.github/workflows/tests-unit-js.yml b/.github/workflows/tests-unit-js.yml index c5856803..f434b4c0 100644 --- a/.github/workflows/tests-unit-js.yml +++ b/.github/workflows/tests-unit-js.yml @@ -76,7 +76,7 @@ jobs: - name: Set up Git uses: ./.github/actions/setup-git with: - ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} + ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} user-email: ${{ secrets.GITHUB_USER_EMAIL }} user-name: ${{ secrets.GITHUB_USER_NAME }} @@ -85,7 +85,7 @@ jobs: with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} - npm-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} + node-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} node-options: ${{ inputs.NODE_OPTIONS }} package-manager: ${{ inputs.PACKAGE_MANAGER }} diff --git a/.github/workflows/wp-scripts-lint.yml b/.github/workflows/wp-scripts-lint.yml index 3db6c4c1..1d2f7c45 100644 --- a/.github/workflows/wp-scripts-lint.yml +++ b/.github/workflows/wp-scripts-lint.yml @@ -97,7 +97,7 @@ jobs: - name: Set up Git uses: ./.github/actions/setup-git with: - ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} + ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} user-email: ${{ secrets.GITHUB_USER_EMAIL }} user-name: ${{ secrets.GITHUB_USER_NAME }} @@ -106,7 +106,7 @@ jobs: with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} - npm-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} + node-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} node-options: ${{ inputs.NODE_OPTIONS }} package-manager: ${{ inputs.PACKAGE_MANAGER }} From 4a1cba8acdddb98504a6f970edbda52b3f72aa6b Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Thu, 28 May 2026 23:36:53 +0200 Subject: [PATCH 03/27] Improve input names and description, migrate build-and-distribute.yml --- .github/actions/setup-git/action.yml | 14 ++++++------- .github/workflows/build-and-distribute.yml | 24 ++++++---------------- 2 files changed, 13 insertions(+), 25 deletions(-) diff --git a/.github/actions/setup-git/action.yml b/.github/actions/setup-git/action.yml index f9ab1061..185dd945 100644 --- a/.github/actions/setup-git/action.yml +++ b/.github/actions/setup-git/action.yml @@ -3,23 +3,23 @@ description: Set up SSH agent, Git identity, and optional commit signing. inputs: ssh-private-key: - description: Private SSH key for authentication. Skipped when empty. + description: Private SSH key for authentication. default: '' required: false user-email: - description: Git user.email. Skipped when empty. + description: Git user email. default: '' required: false user-name: - description: Git user.name. Skipped when empty. + description: Git user name. default: '' required: false ssh-public-key: - description: Public SSH key for commit signing. Skipped when empty. + description: Public SSH key for commit signing. default: '' required: false - push-auto-setup-remote: - description: Set push.autoSetupRemote and disable addIgnoredFile advice ('true' or 'false'). + automated-commits: + description: Enable Git settings for automated commits (auto-tracks remote branches on push, silences ignored-file warnings). default: 'false' required: false @@ -40,7 +40,7 @@ runs: git config --global user.name "${{ inputs.user-name }}" - name: Set up Git configuration - if: ${{ inputs.push-auto-setup-remote == 'true' }} + if: ${{ inputs.automated-commits == 'true' }} shell: bash run: | git config --global advice.addIgnoredFile false diff --git a/.github/workflows/build-and-distribute.yml b/.github/workflows/build-and-distribute.yml index f1ec24e2..1cb3eaf6 100644 --- a/.github/workflows/build-and-distribute.yml +++ b/.github/workflows/build-and-distribute.yml @@ -101,26 +101,14 @@ jobs: fetch-depth: 0 ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} - - name: Set up SSH - uses: webfactory/ssh-agent@v0.9.0 + - name: Set up Git + uses: ./.github/actions/setup-git with: ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} - - - name: Set up Git - run: | - git config --global user.email "${{ secrets.GITHUB_USER_EMAIL }}" - git config --global user.name "${{ secrets.GITHUB_USER_NAME }}" - git config --global advice.addIgnoredFile false - git config --global push.autoSetupRemote true - - - name: Set up signing commits - run: | - : # Create empty SSH private key file so Git does not complain. - touch "${{ runner.temp }}/signingkey" - echo "${{ secrets.GITHUB_USER_SSH_PUBLIC_KEY }}" > "${{ runner.temp }}/signingkey.pub" - git config --global commit.gpgsign true - git config --global gpg.format ssh - git config --global user.signingkey "${{ runner.temp }}/signingkey.pub" + user-email: ${{ secrets.GITHUB_USER_EMAIL }} + user-name: ${{ secrets.GITHUB_USER_NAME }} + ssh-public-key: ${{ secrets.GITHUB_USER_SSH_PUBLIC_KEY }} + automated-commits: 'true' - name: Set up custom environment variables env: From ee4658cc40ceb4c9bf4a9881c27b16e56bedf69b Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Thu, 28 May 2026 23:41:34 +0200 Subject: [PATCH 04/27] Align naming of the step --- .github/actions/setup-node/action.yml | 6 +++--- .github/workflows/build-and-distribute.yml | 2 +- .github/workflows/static-analysis-js.yml | 2 +- .github/workflows/test-playwright.yml | 2 +- .github/workflows/tests-unit-js.yml | 2 +- .github/workflows/wp-scripts-lint.yml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/actions/setup-node/action.yml b/.github/actions/setup-node/action.yml index 94d0fae4..f65bdbb9 100644 --- a/.github/actions/setup-node/action.yml +++ b/.github/actions/setup-node/action.yml @@ -1,9 +1,9 @@ name: Setup Node -description: Set up Node.js with cache detection and dependency installation. +description: Set up Node with cache detection and dependency installation. inputs: node-version: - description: Node.js version to set up. + description: Node version to set up. default: '18' required: false node-version-file: @@ -48,7 +48,7 @@ runs: fi echo "cache-mode=$CACHE_MODE" >> "$GITHUB_OUTPUT" - - name: Set up Node.js + - name: Set up Node uses: actions/setup-node@v4 env: NODE_OPTIONS: ${{ inputs.node-options }} diff --git a/.github/workflows/build-and-distribute.yml b/.github/workflows/build-and-distribute.yml index 1cb3eaf6..1b3139ea 100644 --- a/.github/workflows/build-and-distribute.yml +++ b/.github/workflows/build-and-distribute.yml @@ -251,7 +251,7 @@ jobs: with: composer-options: ${{ inputs.COMPOSER_ARGS }} - - name: Set up Node.js + - name: Set up Node uses: ./.github/actions/setup-node with: node-version: ${{ inputs.NODE_VERSION }} diff --git a/.github/workflows/static-analysis-js.yml b/.github/workflows/static-analysis-js.yml index 7345d316..4f479897 100644 --- a/.github/workflows/static-analysis-js.yml +++ b/.github/workflows/static-analysis-js.yml @@ -61,7 +61,7 @@ jobs: user-email: ${{ secrets.GITHUB_USER_EMAIL }} user-name: ${{ secrets.GITHUB_USER_NAME }} - - name: Set up Node.js + - name: Set up Node uses: ./.github/actions/setup-node with: node-version: ${{ inputs.NODE_VERSION }} diff --git a/.github/workflows/test-playwright.yml b/.github/workflows/test-playwright.yml index b8b84f6f..1fed6e9d 100644 --- a/.github/workflows/test-playwright.yml +++ b/.github/workflows/test-playwright.yml @@ -144,7 +144,7 @@ jobs: with: composer-options: '--prefer-dist' - - name: Set up Node.js + - name: Set up Node uses: ./.github/actions/setup-node with: node-version: ${{ inputs.NODE_VERSION }} diff --git a/.github/workflows/tests-unit-js.yml b/.github/workflows/tests-unit-js.yml index f434b4c0..7846a15c 100644 --- a/.github/workflows/tests-unit-js.yml +++ b/.github/workflows/tests-unit-js.yml @@ -80,7 +80,7 @@ jobs: user-email: ${{ secrets.GITHUB_USER_EMAIL }} user-name: ${{ secrets.GITHUB_USER_NAME }} - - name: Set up Node.js + - name: Set up Node uses: ./.github/actions/setup-node with: node-version: ${{ inputs.NODE_VERSION }} diff --git a/.github/workflows/wp-scripts-lint.yml b/.github/workflows/wp-scripts-lint.yml index 1d2f7c45..eb2b847d 100644 --- a/.github/workflows/wp-scripts-lint.yml +++ b/.github/workflows/wp-scripts-lint.yml @@ -101,7 +101,7 @@ jobs: user-email: ${{ secrets.GITHUB_USER_EMAIL }} user-name: ${{ secrets.GITHUB_USER_NAME }} - - name: Set up Node.js + - name: Set up Node uses: ./.github/actions/setup-node with: node-version: ${{ inputs.NODE_VERSION }} From 28c9ea0cadb1965d471e283864701230ede0ba0d Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Fri, 29 May 2026 00:01:46 +0200 Subject: [PATCH 05/27] Migrate steps --- .github/workflows/test-playwright.yml | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test-playwright.yml b/.github/workflows/test-playwright.yml index 1fed6e9d..8d9b926e 100644 --- a/.github/workflows/test-playwright.yml +++ b/.github/workflows/test-playwright.yml @@ -129,20 +129,11 @@ jobs: - name: Set up PHP if: ${{ inputs.COMPOSER_DEPS_INSTALL }} - uses: shivammathur/setup-php@v2 + uses: ./.github/actions/setup-php with: php-version: ${{ inputs.PHP_VERSION }} - extensions: ${{ inputs.PHP_EXTENSIONS }} - tools: composer - coverage: none - - - name: Install Composer dependencies - if: ${{ inputs.COMPOSER_DEPS_INSTALL }} - uses: ramsey/composer-install@v3 - env: - COMPOSER_AUTH: '${{ secrets.COMPOSER_AUTH_JSON }}' - with: - composer-options: '--prefer-dist' + php-extensions: ${{ inputs.PHP_EXTENSIONS }} + composer-auth-json: ${{ secrets.COMPOSER_AUTH_JSON }} - name: Set up Node uses: ./.github/actions/setup-node From ec4288b13d35b0dd488a857a29f08190b4e4c996 Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Fri, 29 May 2026 00:07:54 +0200 Subject: [PATCH 06/27] Migrate steps --- .github/workflows/automatic-release.yml | 42 ++++++------------------- 1 file changed, 10 insertions(+), 32 deletions(-) diff --git a/.github/workflows/automatic-release.yml b/.github/workflows/automatic-release.yml index b2b86029..4c9f7b26 100644 --- a/.github/workflows/automatic-release.yml +++ b/.github/workflows/automatic-release.yml @@ -44,13 +44,13 @@ jobs: sparse-checkout-cone-mode: false path: semantic-release-repo - - name: Set up node - uses: actions/setup-node@v4 - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }} + - name: Set up Node + uses: ./.github/actions/setup-node with: node-version-file: semantic-release-repo/package.json registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} + node-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} + install-dependencies: 'false' - name: Install dependencies run: | @@ -68,25 +68,13 @@ jobs: persist-credentials: false ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} - - name: Set up SSH - env: - GITHUB_USER_SSH_KEY: ${{ secrets.GITHUB_USER_SSH_KEY }} - if: ${{ env.GITHUB_USER_SSH_KEY != '' }} - uses: webfactory/ssh-agent@v0.9.1 + - name: Set up Git + uses: ./.github/actions/setup-git with: - ssh-private-key: ${{ env.GITHUB_USER_SSH_KEY }} - - - name: Set up signing commits - env: - GITHUB_USER_SSH_PUBLIC_KEY: ${{ secrets.GITHUB_USER_SSH_PUBLIC_KEY }} - if: ${{ env.GITHUB_USER_SSH_PUBLIC_KEY != '' }} - run: | - : # Create empty SSH private key file so Git does not complain. - touch "${{ runner.temp }}/signingkey" - echo "${{ env.GITHUB_USER_SSH_PUBLIC_KEY }}" > "${{ runner.temp }}/signingkey.pub" - git config --global commit.gpgsign true - git config --global gpg.format ssh - git config --global user.signingkey "${{ runner.temp }}/signingkey.pub" + ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} + ssh-public-key: ${{ secrets.GITHUB_USER_SSH_PUBLIC_KEY }} + user-email: ${{ secrets.GITHUB_USER_EMAIL }} + user-name: ${{ secrets.GITHUB_USER_NAME }} - name: Check presence of release.config.js run: | @@ -113,16 +101,6 @@ jobs: run: | rm -rf workflow-repo - - name: Set up release environment variables - env: - GITHUB_USER_EMAIL: ${{ secrets.GITHUB_USER_EMAIL }} - GITHUB_USER_NAME: ${{ secrets.GITHUB_USER_NAME }} - run: | - ${{ env.GITHUB_USER_EMAIL != '' }} && echo "GIT_AUTHOR_EMAIL=${{ env.GITHUB_USER_EMAIL }}" >> $GITHUB_ENV || true - ${{ env.GITHUB_USER_NAME != '' }} && echo "GIT_AUTHOR_NAME=${{ env.GITHUB_USER_NAME }}" >> $GITHUB_ENV || true - ${{ env.GITHUB_USER_EMAIL != '' }} && echo "GIT_COMMITTER_EMAIL=${{ env.GITHUB_USER_EMAIL }}" >> $GITHUB_ENV || true - ${{ env.GITHUB_USER_NAME != '' }} && echo "GIT_COMMITTER_NAME=${{ env.GITHUB_USER_NAME }}" >> $GITHUB_ENV || true - - name: Release env: GITHUB_TOKEN: ${{ secrets.GITHUB_USER_TOKEN != '' && secrets.GITHUB_USER_TOKEN || secrets.GITHUB_TOKEN }} From d1832db0ee2d196b6f6ea55074819d24d89d1ffc Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Fri, 29 May 2026 00:12:15 +0200 Subject: [PATCH 07/27] Migrate steps --- .github/workflows/deploy-deployer.yml | 48 ++++++++------------------- 1 file changed, 13 insertions(+), 35 deletions(-) diff --git a/.github/workflows/deploy-deployer.yml b/.github/workflows/deploy-deployer.yml index b25f5d75..085eface 100644 --- a/.github/workflows/deploy-deployer.yml +++ b/.github/workflows/deploy-deployer.yml @@ -63,7 +63,6 @@ jobs: deploy: runs-on: ubuntu-latest env: - NODE_CACHE_MODE: '' COMPOSER_NO_DEV: 1 steps: @@ -73,19 +72,11 @@ jobs: fetch-depth: 0 ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} - - name: Set up SSH - uses: webfactory/ssh-agent@v0.9.1 + - name: Set up Git + uses: ./.github/actions/setup-git with: ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} - - name: Set up PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ inputs.PHP_VERSION }} - extensions: ${{ inputs.PHP_EXTENSIONS }} - tools: composer, ${{ inputs.PHP_TOOLS }} - coverage: none - - name: Set up WireGuard uses: inpsyde/actions/setup-wireguard@v1 env: @@ -94,13 +85,14 @@ jobs: with: wireguard-configuration: ${{ secrets.WIREGUARD_CONFIGURATION }} - - name: Validate composer.json and composer.lock - run: composer validate - - - name: Install Composer dependencies - uses: ramsey/composer-install@v3 - env: - COMPOSER_AUTH: '${{ secrets.COMPOSER_AUTH_JSON }}' + - name: Set up PHP + uses: ./.github/actions/setup-php + with: + php-version: ${{ inputs.PHP_VERSION }} + php-extensions: ${{ inputs.PHP_EXTENSIONS }} + php-tools: 'composer, ${{ inputs.PHP_TOOLS }}' + composer-options: '' + composer-auth-json: ${{ secrets.COMPOSER_AUTH_JSON }} - name: Detect npm workspaces id: npm-workspaces @@ -111,27 +103,13 @@ jobs: echo "enabled=false" >> $GITHUB_OUTPUT fi - - name: Set up node cache mode - run: | - if [ -f "${GITHUB_WORKSPACE}/package-lock.json" ] || [ -f "${GITHUB_WORKSPACE}/npm-shrinkwrap.json" ]; then - echo "NODE_CACHE_MODE=npm" >> $GITHUB_ENV - else - echo "No lock files found or unknown package manager" - fi - - - name: Set up node + - name: Set up Node if: steps.npm-workspaces.outputs.enabled == 'true' - uses: actions/setup-node@v4 - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }} + uses: ./.github/actions/setup-node with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} - cache: ${{ env.NODE_CACHE_MODE }} - - - name: Install npm dependencies - if: steps.npm-workspaces.outputs.enabled == 'true' - run: npm ${{ env.NODE_CACHE_MODE == 'npm' && 'ci' || 'install' }} + node-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} - name: Run the build using workspaces if: steps.npm-workspaces.outputs.enabled == 'true' From ea24fe1b5ef2b822dd783b003fc31b557c6faed8 Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Fri, 29 May 2026 09:14:28 +0200 Subject: [PATCH 08/27] Add documentation --- .github/actions/setup-git/README.md | 33 ++++++++++++++++++++++++++++ .github/actions/setup-node/README.md | 31 ++++++++++++++++++++++++++ .github/actions/setup-php/README.md | 29 ++++++++++++++++++++++++ 3 files changed, 93 insertions(+) create mode 100644 .github/actions/setup-git/README.md create mode 100644 .github/actions/setup-node/README.md create mode 100644 .github/actions/setup-php/README.md diff --git a/.github/actions/setup-git/README.md b/.github/actions/setup-git/README.md new file mode 100644 index 00000000..9d07dce7 --- /dev/null +++ b/.github/actions/setup-git/README.md @@ -0,0 +1,33 @@ +# Setup Git + +This composite action configures SSH authentication, Git user identity, and optional commit signing using [webfactory/ssh-agent](https://github.com/webfactory/ssh-agent). + +## Simple usage example + +```yml +steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/setup-git + with: + ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} + user-email: ${{ secrets.GITHUB_USER_EMAIL }} + user-name: ${{ secrets.GITHUB_USER_NAME }} +``` + +## Inputs + +| Name | Default | Description | +|---------------------|-----------|------------------------------------------------------------------------------------------------------------------| +| `ssh-private-key` | `''` | Private SSH key for authentication. | +| `user-email` | `''` | Git user email. | +| `user-name` | `''` | Git user name. | +| `ssh-public-key` | `''` | Public SSH key for commit signing. | +| `automated-commits` | `'false'` | Enable Git settings for automated commits (auto-tracks remote branches on push, silences ignored-file warnings). | + +## Notes + +- Every step in this action is conditional. Steps are skipped when their corresponding inputs are empty, so you only need to provide the inputs relevant to your use case. + - SSH setup runs only when `ssh-private-key` is provided. + - Git identity is configured only when both `user-email` and `user-name` are provided. + - Commit signing is configured only when `ssh-public-key` is provided. +- The `automated-commits` input, when set to `'true'`, applies two Git configuration settings: `push.autoSetupRemote true` (so that `git push` automatically tracks the remote branch without requiring `--set-upstream`) and `advice.addIgnoredFile false` (to suppress warnings when staging files matched by `.gitignore`). This is useful for workflows that create and push commits programmatically. diff --git a/.github/actions/setup-node/README.md b/.github/actions/setup-node/README.md new file mode 100644 index 00000000..272f7ccb --- /dev/null +++ b/.github/actions/setup-node/README.md @@ -0,0 +1,31 @@ +# Setup Node + +This composite action sets up Node.js using [actions/setup-node](https://github.com/actions/setup-node), automatically detects lock files for dependency caching, and installs project dependencies. + +## Simple usage example + +```yml +steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/setup-node + with: + registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} + node-auth-token: ${{ secrets.NPM_REGISTRY_TOKEN }} +``` + +## Inputs + +| Name | Default | Description | +|------------------------|---------------------------------|-------------------------------------------------------------------------------------------------------------| +| `node-version` | `'18'` | Node version to set up. | +| `node-version-file` | `''` | Path to a file containing the Node version (takes precedence over `node-version`). | +| `registry-url` | `'https://npm.pkg.github.com/'` | npm registry URL. | +| `node-auth-token` | `''` | Authentication token for the npm registry. | +| `node-options` | `''` | Space-separated list of command-line Node options. | +| `package-manager` | `'npm'` | Package manager to use (`npm` or `yarn`). **Deprecated:** yarn support will be removed in a future version. | +| `install-dependencies` | `'true'` | Whether to install dependencies (`'true'` or `'false'`). | + +## Notes + +- Dependency caching is enabled automatically when a lock file is detected (`package-lock.json` or `npm-shrinkwrap.json` for npm, `yarn.lock` for yarn). If no lock file is found, caching is skipped and a plain install is performed instead of a clean install. +- **Yarn support is deprecated.** The `package-manager` input still accepts `'yarn'`, but this option will be removed in a future version. New workflows should use npm. diff --git a/.github/actions/setup-php/README.md b/.github/actions/setup-php/README.md new file mode 100644 index 00000000..50502c6f --- /dev/null +++ b/.github/actions/setup-php/README.md @@ -0,0 +1,29 @@ +# Setup PHP + +This composite action sets up PHP using [shivammathur/setup-php](https://github.com/shivammathur/setup-php), validates `composer.json`/`composer.lock`, and installs Composer dependencies via [ramsey/composer-install](https://github.com/ramsey/composer-install). + +## Simple usage example + +```yml +steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/setup-php + with: + composer-auth-json: ${{ secrets.COMPOSER_AUTH_JSON }} +``` + +## Inputs + +| Name | Default | Description | +|----------------------|-------------------|-------------------------------------------------------------------------------------------| +| `php-version` | `'8.2'` | PHP version to set up. | +| `php-extensions` | `''` | PHP extensions to install or disable. | +| `php-tools` | `'composer'` | PHP tools to install (e.g. `composer`, `cs2pr`, `parallel-lint`). | +| `coverage` | `'none'` | Code coverage driver (`none`, `xdebug`, `pcov`, or empty for default). | +| `composer-install` | `'true'` | Whether to validate and install Composer dependencies (`'true'` or `'false'`). | +| `composer-options` | `'--prefer-dist'` | Arguments passed to Composer install. | +| `composer-auth-json` | `''` | Authentication for privately hosted packages and repositories as a JSON formatted object. | + +## Notes + +- When `composer-install` is `'true'`, `composer validate` runs automatically before installing dependencies. This ensures that `composer.json` and `composer.lock` are consistent. From 601ef56672429f6103523a4415b8ae743e9f06f2 Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Fri, 29 May 2026 09:23:37 +0200 Subject: [PATCH 09/27] Move deprecation warning to the action --- .github/actions/setup-node/action.yml | 6 ++++++ .github/workflows/tests-unit-js.yml | 9 --------- .github/workflows/wp-scripts-lint.yml | 9 --------- 3 files changed, 6 insertions(+), 18 deletions(-) diff --git a/.github/actions/setup-node/action.yml b/.github/actions/setup-node/action.yml index f65bdbb9..6b54f60b 100644 --- a/.github/actions/setup-node/action.yml +++ b/.github/actions/setup-node/action.yml @@ -34,6 +34,12 @@ inputs: runs: using: composite steps: + - name: Package manager deprecation warning + if: ${{ inputs.package-manager != 'npm' }} + shell: bash + run: | + echo "::warning::The package-manager input is deprecated and will be removed soon. Please update your workflow to use npm." + - name: Detect cache mode id: cache-detection shell: bash diff --git a/.github/workflows/tests-unit-js.yml b/.github/workflows/tests-unit-js.yml index 7846a15c..0d3afd66 100644 --- a/.github/workflows/tests-unit-js.yml +++ b/.github/workflows/tests-unit-js.yml @@ -50,15 +50,6 @@ jobs: timeout-minutes: 5 runs-on: ubuntu-latest steps: - - name: PACKAGE_MANAGER deprecation warning - if: ${{ inputs.PACKAGE_MANAGER != '' }} - run: | - if [ "${{ inputs.PACKAGE_MANAGER }}" == 'npm' ]; then - echo "::warning::The PACKAGE_MANAGER input is deprecated and will be removed soon. Please remove it. The workflow already uses npm by default." - else - echo "::warning::The PACKAGE_MANAGER input is deprecated and will be removed soon. Please update your workflow to use npm." - fi - - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/wp-scripts-lint.yml b/.github/workflows/wp-scripts-lint.yml index eb2b847d..e930d8f0 100644 --- a/.github/workflows/wp-scripts-lint.yml +++ b/.github/workflows/wp-scripts-lint.yml @@ -71,15 +71,6 @@ jobs: timeout-minutes: 5 runs-on: ubuntu-latest steps: - - name: PACKAGE_MANAGER deprecation warning - if: ${{ inputs.PACKAGE_MANAGER != '' }} - run: | - if [ "${{ inputs.PACKAGE_MANAGER }}" == 'npm' ]; then - echo "::warning::The PACKAGE_MANAGER input is deprecated and will be removed soon. Please remove it. The workflow already uses npm by default." - else - echo "::warning::The PACKAGE_MANAGER input is deprecated and will be removed soon. Please update your workflow to use npm." - fi - - name: Checkout uses: actions/checkout@v4 From f0c49c3964193fe2fbab1da42fd1d31e736fba6c Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Thu, 11 Jun 2026 12:31:39 +0200 Subject: [PATCH 10/27] Request the actions from the public repository instead of from inside --- .github/workflows/deploy-deployer.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-deployer.yml b/.github/workflows/deploy-deployer.yml index 085eface..752cad3c 100644 --- a/.github/workflows/deploy-deployer.yml +++ b/.github/workflows/deploy-deployer.yml @@ -73,7 +73,7 @@ jobs: ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} - name: Set up Git - uses: ./.github/actions/setup-git + uses: inpsyde/reusable-workflows/.github/actions/setup-git@fix/247 with: ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} @@ -86,7 +86,7 @@ jobs: wireguard-configuration: ${{ secrets.WIREGUARD_CONFIGURATION }} - name: Set up PHP - uses: ./.github/actions/setup-php + uses: inpsyde/reusable-workflows/.github/actions/setup-php@fix/247 with: php-version: ${{ inputs.PHP_VERSION }} php-extensions: ${{ inputs.PHP_EXTENSIONS }} @@ -105,7 +105,7 @@ jobs: - name: Set up Node if: steps.npm-workspaces.outputs.enabled == 'true' - uses: ./.github/actions/setup-node + uses: inpsyde/reusable-workflows/.github/actions/setup-node@fix/247 with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} From 2ac2213da9526eed0b8561fd5100351fa050dfcb Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Thu, 11 Jun 2026 15:24:57 +0200 Subject: [PATCH 11/27] Add environment variable --- .github/workflows/deploy-deployer.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy-deployer.yml b/.github/workflows/deploy-deployer.yml index 752cad3c..ebc23337 100644 --- a/.github/workflows/deploy-deployer.yml +++ b/.github/workflows/deploy-deployer.yml @@ -133,6 +133,7 @@ jobs: - name: Run Deployer env: + ENVIRONMENT: ${{ inputs.ENVIRONMENT }} DEPLOY_HOSTNAME: ${{ secrets.DEPLOY_HOSTNAME }} DEPLOY_PORT: ${{ secrets.DEPLOY_PORT }} DEPLOY_USER: ${{ secrets.DEPLOY_USER }} From b06bc50b5d824334e6e08fd56d56cb805d97b788 Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Thu, 11 Jun 2026 15:58:21 +0200 Subject: [PATCH 12/27] Request the actions from the public repository instead of from inside --- .github/workflows/automatic-release.yml | 4 ++-- .github/workflows/build-and-distribute.yml | 4 ++-- .github/workflows/coding-standards-php.yml | 2 +- .github/workflows/lint-php.yml | 2 +- .github/workflows/static-analysis-js.yml | 4 ++-- .github/workflows/static-analysis-php.yml | 2 +- .github/workflows/test-playwright.yml | 6 +++--- .github/workflows/tests-unit-js.yml | 4 ++-- .github/workflows/tests-unit-php.yml | 2 +- .github/workflows/wp-scripts-lint.yml | 4 ++-- 10 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/automatic-release.yml b/.github/workflows/automatic-release.yml index 4c9f7b26..16d991d8 100644 --- a/.github/workflows/automatic-release.yml +++ b/.github/workflows/automatic-release.yml @@ -45,7 +45,7 @@ jobs: path: semantic-release-repo - name: Set up Node - uses: ./.github/actions/setup-node + uses: inpsyde/reusable-workflows/.github/actions/setup-node@fix/247 with: node-version-file: semantic-release-repo/package.json registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} @@ -69,7 +69,7 @@ jobs: ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} - name: Set up Git - uses: ./.github/actions/setup-git + uses: inpsyde/reusable-workflows/.github/actions/setup-git@fix/247 with: ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} ssh-public-key: ${{ secrets.GITHUB_USER_SSH_PUBLIC_KEY }} diff --git a/.github/workflows/build-and-distribute.yml b/.github/workflows/build-and-distribute.yml index 1b3139ea..d9b19306 100644 --- a/.github/workflows/build-and-distribute.yml +++ b/.github/workflows/build-and-distribute.yml @@ -102,7 +102,7 @@ jobs: ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} - name: Set up Git - uses: ./.github/actions/setup-git + uses: inpsyde/reusable-workflows/.github/actions/setup-git@fix/247 with: ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} user-email: ${{ secrets.GITHUB_USER_EMAIL }} @@ -252,7 +252,7 @@ jobs: composer-options: ${{ inputs.COMPOSER_ARGS }} - name: Set up Node - uses: ./.github/actions/setup-node + uses: inpsyde/reusable-workflows/.github/actions/setup-node@fix/247 with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} diff --git a/.github/workflows/coding-standards-php.yml b/.github/workflows/coding-standards-php.yml index 941ad766..a5fde824 100644 --- a/.github/workflows/coding-standards-php.yml +++ b/.github/workflows/coding-standards-php.yml @@ -56,7 +56,7 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up PHP - uses: ./.github/actions/setup-php + uses: inpsyde/reusable-workflows/.github/actions/setup-php@fix/247 with: php-version: ${{ inputs.PHP_VERSION }} php-extensions: ${{ inputs.PHP_EXTENSIONS }} diff --git a/.github/workflows/lint-php.yml b/.github/workflows/lint-php.yml index a67c81dc..d5834e5d 100644 --- a/.github/workflows/lint-php.yml +++ b/.github/workflows/lint-php.yml @@ -56,7 +56,7 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up PHP - uses: ./.github/actions/setup-php + uses: inpsyde/reusable-workflows/.github/actions/setup-php@fix/247 with: php-version: ${{ inputs.PHP_VERSION }} php-extensions: ${{ inputs.PHP_EXTENSIONS }} diff --git a/.github/workflows/static-analysis-js.yml b/.github/workflows/static-analysis-js.yml index 4f479897..81545a5a 100644 --- a/.github/workflows/static-analysis-js.yml +++ b/.github/workflows/static-analysis-js.yml @@ -55,14 +55,14 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up Git - uses: ./.github/actions/setup-git + uses: inpsyde/reusable-workflows/.github/actions/setup-git@fix/247 with: ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} user-email: ${{ secrets.GITHUB_USER_EMAIL }} user-name: ${{ secrets.GITHUB_USER_NAME }} - name: Set up Node - uses: ./.github/actions/setup-node + uses: inpsyde/reusable-workflows/.github/actions/setup-node@fix/247 with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} diff --git a/.github/workflows/static-analysis-php.yml b/.github/workflows/static-analysis-php.yml index 8f0291f9..2b035b7d 100644 --- a/.github/workflows/static-analysis-php.yml +++ b/.github/workflows/static-analysis-php.yml @@ -56,7 +56,7 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up PHP - uses: ./.github/actions/setup-php + uses: inpsyde/reusable-workflows/.github/actions/setup-php@fix/247 with: php-version: ${{ inputs.PHP_VERSION }} php-extensions: ${{ inputs.PHP_EXTENSIONS }} diff --git a/.github/workflows/test-playwright.yml b/.github/workflows/test-playwright.yml index 8d9b926e..850586df 100644 --- a/.github/workflows/test-playwright.yml +++ b/.github/workflows/test-playwright.yml @@ -121,7 +121,7 @@ jobs: uses: actions/checkout@v4 - name: Set up Git - uses: ./.github/actions/setup-git + uses: inpsyde/reusable-workflows/.github/actions/setup-git@fix/247 with: ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} user-email: ${{ secrets.GITHUB_USER_EMAIL }} @@ -129,14 +129,14 @@ jobs: - name: Set up PHP if: ${{ inputs.COMPOSER_DEPS_INSTALL }} - uses: ./.github/actions/setup-php + uses: inpsyde/reusable-workflows/.github/actions/setup-php@fix/247 with: php-version: ${{ inputs.PHP_VERSION }} php-extensions: ${{ inputs.PHP_EXTENSIONS }} composer-auth-json: ${{ secrets.COMPOSER_AUTH_JSON }} - name: Set up Node - uses: ./.github/actions/setup-node + uses: inpsyde/reusable-workflows/.github/actions/setup-node@fix/247 with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} diff --git a/.github/workflows/tests-unit-js.yml b/.github/workflows/tests-unit-js.yml index 0d3afd66..afb99528 100644 --- a/.github/workflows/tests-unit-js.yml +++ b/.github/workflows/tests-unit-js.yml @@ -65,14 +65,14 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up Git - uses: ./.github/actions/setup-git + uses: inpsyde/reusable-workflows/.github/actions/setup-git@fix/247 with: ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} user-email: ${{ secrets.GITHUB_USER_EMAIL }} user-name: ${{ secrets.GITHUB_USER_NAME }} - name: Set up Node - uses: ./.github/actions/setup-node + uses: inpsyde/reusable-workflows/.github/actions/setup-node@fix/247 with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} diff --git a/.github/workflows/tests-unit-php.yml b/.github/workflows/tests-unit-php.yml index 1f6a4993..1509bb81 100644 --- a/.github/workflows/tests-unit-php.yml +++ b/.github/workflows/tests-unit-php.yml @@ -51,7 +51,7 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up PHP - uses: ./.github/actions/setup-php + uses: inpsyde/reusable-workflows/.github/actions/setup-php@fix/247 with: php-version: ${{ inputs.PHP_VERSION }} php-extensions: ${{ inputs.PHP_EXTENSIONS }} diff --git a/.github/workflows/wp-scripts-lint.yml b/.github/workflows/wp-scripts-lint.yml index e930d8f0..b9e00e0d 100644 --- a/.github/workflows/wp-scripts-lint.yml +++ b/.github/workflows/wp-scripts-lint.yml @@ -86,14 +86,14 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up Git - uses: ./.github/actions/setup-git + uses: inpsyde/reusable-workflows/.github/actions/setup-git@fix/247 with: ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} user-email: ${{ secrets.GITHUB_USER_EMAIL }} user-name: ${{ secrets.GITHUB_USER_NAME }} - name: Set up Node - uses: ./.github/actions/setup-node + uses: inpsyde/reusable-workflows/.github/actions/setup-node@fix/247 with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} From b0783c266e8818948857922d0ed42f93059afd7a Mon Sep 17 00:00:00 2001 From: Christian Leucht Date: Mon, 15 Jun 2026 09:45:36 +0200 Subject: [PATCH 13/27] Update .github/actions/setup-git/action.yml Co-authored-by: Philipp Bammes <8144115+tyrann0us@users.noreply.github.com> Signed-off-by: Christian Leucht --- .github/actions/setup-git/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-git/action.yml b/.github/actions/setup-git/action.yml index 185dd945..fae43de4 100644 --- a/.github/actions/setup-git/action.yml +++ b/.github/actions/setup-git/action.yml @@ -1,4 +1,4 @@ -name: Setup Git +name: Set up Git description: Set up SSH agent, Git identity, and optional commit signing. inputs: From 5c4bae82bb49ef0af162bf95d03337ad0e824251 Mon Sep 17 00:00:00 2001 From: Christian Leucht Date: Mon, 15 Jun 2026 09:46:23 +0200 Subject: [PATCH 14/27] Update .github/actions/setup-git/README.md Co-authored-by: Philipp Bammes <8144115+tyrann0us@users.noreply.github.com> Signed-off-by: Christian Leucht --- .github/actions/setup-git/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-git/README.md b/.github/actions/setup-git/README.md index 9d07dce7..908dee3d 100644 --- a/.github/actions/setup-git/README.md +++ b/.github/actions/setup-git/README.md @@ -1,4 +1,4 @@ -# Setup Git +# Set up Git This composite action configures SSH authentication, Git user identity, and optional commit signing using [webfactory/ssh-agent](https://github.com/webfactory/ssh-agent). From 92b7e9ac8db21c26e9946a3375f316c1ebb481b4 Mon Sep 17 00:00:00 2001 From: Christian Leucht Date: Mon, 15 Jun 2026 09:46:43 +0200 Subject: [PATCH 15/27] Update .github/actions/setup-node/action.yml Co-authored-by: Philipp Bammes <8144115+tyrann0us@users.noreply.github.com> Signed-off-by: Christian Leucht --- .github/actions/setup-node/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-node/action.yml b/.github/actions/setup-node/action.yml index 6b54f60b..dfa26e30 100644 --- a/.github/actions/setup-node/action.yml +++ b/.github/actions/setup-node/action.yml @@ -1,4 +1,4 @@ -name: Setup Node +name: Set up Node description: Set up Node with cache detection and dependency installation. inputs: From 4712c9e1a8c9c8024df603512702a8ef3abb0bd5 Mon Sep 17 00:00:00 2001 From: Christian Leucht Date: Mon, 15 Jun 2026 09:47:01 +0200 Subject: [PATCH 16/27] Update .github/actions/setup-php/README.md Co-authored-by: Philipp Bammes <8144115+tyrann0us@users.noreply.github.com> Signed-off-by: Christian Leucht --- .github/actions/setup-php/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-php/README.md b/.github/actions/setup-php/README.md index 50502c6f..4ca324c8 100644 --- a/.github/actions/setup-php/README.md +++ b/.github/actions/setup-php/README.md @@ -1,4 +1,4 @@ -# Setup PHP +# Set up PHP This composite action sets up PHP using [shivammathur/setup-php](https://github.com/shivammathur/setup-php), validates `composer.json`/`composer.lock`, and installs Composer dependencies via [ramsey/composer-install](https://github.com/ramsey/composer-install). From 0e834ebb8a0c91e1b3374f8f238c94b049976adb Mon Sep 17 00:00:00 2001 From: Christian Leucht Date: Mon, 15 Jun 2026 09:47:14 +0200 Subject: [PATCH 17/27] Update .github/actions/setup-php/README.md Co-authored-by: Philipp Bammes <8144115+tyrann0us@users.noreply.github.com> Signed-off-by: Christian Leucht --- .github/actions/setup-php/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-php/README.md b/.github/actions/setup-php/README.md index 4ca324c8..203a2bb3 100644 --- a/.github/actions/setup-php/README.md +++ b/.github/actions/setup-php/README.md @@ -17,7 +17,7 @@ steps: | Name | Default | Description | |----------------------|-------------------|-------------------------------------------------------------------------------------------| | `php-version` | `'8.2'` | PHP version to set up. | -| `php-extensions` | `''` | PHP extensions to install or disable. | +| `php-extensions` | `''` | PHP extensions to install. | | `php-tools` | `'composer'` | PHP tools to install (e.g. `composer`, `cs2pr`, `parallel-lint`). | | `coverage` | `'none'` | Code coverage driver (`none`, `xdebug`, `pcov`, or empty for default). | | `composer-install` | `'true'` | Whether to validate and install Composer dependencies (`'true'` or `'false'`). | From 9c9cf822ebf88dae033d67611ac2ad4afeaea25a Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Tue, 23 Jun 2026 09:19:06 +0200 Subject: [PATCH 18/27] Update .github/actions/setup-php/README.md Co-authored-by: Philipp Bammes <8144115+tyrann0us@users.noreply.github.com> Signed-off-by: Erika Gili --- .github/actions/setup-php/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-php/README.md b/.github/actions/setup-php/README.md index 203a2bb3..d3f17506 100644 --- a/.github/actions/setup-php/README.md +++ b/.github/actions/setup-php/README.md @@ -1,6 +1,6 @@ # Set up PHP -This composite action sets up PHP using [shivammathur/setup-php](https://github.com/shivammathur/setup-php), validates `composer.json`/`composer.lock`, and installs Composer dependencies via [ramsey/composer-install](https://github.com/ramsey/composer-install). +This composite action sets up PHP, validates `composer.json`/`composer.lock`, and installs Composer dependencies. ## Simple usage example From 7feae9b666b97433961ddbab067e9add3650d3f9 Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Tue, 23 Jun 2026 09:20:09 +0200 Subject: [PATCH 19/27] Update .github/actions/setup-node/README.md Co-authored-by: Philipp Bammes <8144115+tyrann0us@users.noreply.github.com> Signed-off-by: Erika Gili --- .github/actions/setup-node/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-node/README.md b/.github/actions/setup-node/README.md index 272f7ccb..5d1a56de 100644 --- a/.github/actions/setup-node/README.md +++ b/.github/actions/setup-node/README.md @@ -1,4 +1,4 @@ -# Setup Node +# Set up Node This composite action sets up Node.js using [actions/setup-node](https://github.com/actions/setup-node), automatically detects lock files for dependency caching, and installs project dependencies. From 735dd3fc2cd479e43a22c01c8d0adcc904fa113a Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Tue, 23 Jun 2026 09:20:26 +0200 Subject: [PATCH 20/27] Update .github/actions/setup-git/README.md Co-authored-by: Philipp Bammes <8144115+tyrann0us@users.noreply.github.com> Signed-off-by: Erika Gili --- .github/actions/setup-git/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-git/README.md b/.github/actions/setup-git/README.md index 908dee3d..c3e396a6 100644 --- a/.github/actions/setup-git/README.md +++ b/.github/actions/setup-git/README.md @@ -1,6 +1,6 @@ # Set up Git -This composite action configures SSH authentication, Git user identity, and optional commit signing using [webfactory/ssh-agent](https://github.com/webfactory/ssh-agent). +This composite action configures SSH authentication, Git user identity, and optional commit signing. ## Simple usage example From 912f5ecb2e64b19a83632bc3f867c17feb0703b5 Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Tue, 23 Jun 2026 09:20:45 +0200 Subject: [PATCH 21/27] Update .github/actions/setup-node/README.md Co-authored-by: Philipp Bammes <8144115+tyrann0us@users.noreply.github.com> Signed-off-by: Erika Gili --- .github/actions/setup-node/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-node/README.md b/.github/actions/setup-node/README.md index 5d1a56de..c3702840 100644 --- a/.github/actions/setup-node/README.md +++ b/.github/actions/setup-node/README.md @@ -1,6 +1,6 @@ # Set up Node -This composite action sets up Node.js using [actions/setup-node](https://github.com/actions/setup-node), automatically detects lock files for dependency caching, and installs project dependencies. +This composite action sets up Node.js, automatically detects lock files for dependency caching, and installs project dependencies. ## Simple usage example From 52d509f5b255a182776bf8b71dad610038abc58a Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Tue, 23 Jun 2026 09:34:52 +0200 Subject: [PATCH 22/27] Update .github/actions/setup-php/action.yml Co-authored-by: Philipp Bammes <8144115+tyrann0us@users.noreply.github.com> Signed-off-by: Erika Gili --- .github/actions/setup-php/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-php/action.yml b/.github/actions/setup-php/action.yml index 0d81dd15..ad4e7085 100644 --- a/.github/actions/setup-php/action.yml +++ b/.github/actions/setup-php/action.yml @@ -1,4 +1,4 @@ -name: Setup PHP +name: Set up PHP description: Set up PHP with shivammathur/setup-php, validate and install Composer dependencies. inputs: From bcae0a9a2474adbd7d84b3850dbbe0a5ea4e4fce Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Tue, 23 Jun 2026 09:35:24 +0200 Subject: [PATCH 23/27] Update .github/actions/setup-php/action.yml Co-authored-by: Philipp Bammes <8144115+tyrann0us@users.noreply.github.com> Signed-off-by: Erika Gili --- .github/actions/setup-php/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-php/action.yml b/.github/actions/setup-php/action.yml index ad4e7085..db08ee0f 100644 --- a/.github/actions/setup-php/action.yml +++ b/.github/actions/setup-php/action.yml @@ -1,5 +1,5 @@ name: Set up PHP -description: Set up PHP with shivammathur/setup-php, validate and install Composer dependencies. +description: Set up PHP, validate and install Composer dependencies. inputs: php-version: From 91d8d4615232080c6c56704b469355d5ae03b496 Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Tue, 23 Jun 2026 09:42:53 +0200 Subject: [PATCH 24/27] Update .github/actions/setup-php/action.yml Co-authored-by: Philipp Bammes <8144115+tyrann0us@users.noreply.github.com> Signed-off-by: Erika Gili --- .github/actions/setup-php/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-php/action.yml b/.github/actions/setup-php/action.yml index db08ee0f..6138c101 100644 --- a/.github/actions/setup-php/action.yml +++ b/.github/actions/setup-php/action.yml @@ -7,7 +7,7 @@ inputs: default: '8.2' required: false php-extensions: - description: PHP extensions to install or disable. + description: PHP extensions to install. default: '' required: false php-tools: From 4bc22c50521febd3edada85153034d7cf50b33d9 Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Tue, 23 Jun 2026 09:50:18 +0200 Subject: [PATCH 25/27] Remove notes section from READMEs --- .github/actions/setup-git/README.md | 8 -------- .github/actions/setup-node/README.md | 5 ----- .github/actions/setup-php/README.md | 3 --- 3 files changed, 16 deletions(-) diff --git a/.github/actions/setup-git/README.md b/.github/actions/setup-git/README.md index c3e396a6..f8c3d19f 100644 --- a/.github/actions/setup-git/README.md +++ b/.github/actions/setup-git/README.md @@ -23,11 +23,3 @@ steps: | `user-name` | `''` | Git user name. | | `ssh-public-key` | `''` | Public SSH key for commit signing. | | `automated-commits` | `'false'` | Enable Git settings for automated commits (auto-tracks remote branches on push, silences ignored-file warnings). | - -## Notes - -- Every step in this action is conditional. Steps are skipped when their corresponding inputs are empty, so you only need to provide the inputs relevant to your use case. - - SSH setup runs only when `ssh-private-key` is provided. - - Git identity is configured only when both `user-email` and `user-name` are provided. - - Commit signing is configured only when `ssh-public-key` is provided. -- The `automated-commits` input, when set to `'true'`, applies two Git configuration settings: `push.autoSetupRemote true` (so that `git push` automatically tracks the remote branch without requiring `--set-upstream`) and `advice.addIgnoredFile false` (to suppress warnings when staging files matched by `.gitignore`). This is useful for workflows that create and push commits programmatically. diff --git a/.github/actions/setup-node/README.md b/.github/actions/setup-node/README.md index c3702840..1725de13 100644 --- a/.github/actions/setup-node/README.md +++ b/.github/actions/setup-node/README.md @@ -24,8 +24,3 @@ steps: | `node-options` | `''` | Space-separated list of command-line Node options. | | `package-manager` | `'npm'` | Package manager to use (`npm` or `yarn`). **Deprecated:** yarn support will be removed in a future version. | | `install-dependencies` | `'true'` | Whether to install dependencies (`'true'` or `'false'`). | - -## Notes - -- Dependency caching is enabled automatically when a lock file is detected (`package-lock.json` or `npm-shrinkwrap.json` for npm, `yarn.lock` for yarn). If no lock file is found, caching is skipped and a plain install is performed instead of a clean install. -- **Yarn support is deprecated.** The `package-manager` input still accepts `'yarn'`, but this option will be removed in a future version. New workflows should use npm. diff --git a/.github/actions/setup-php/README.md b/.github/actions/setup-php/README.md index d3f17506..ba344b37 100644 --- a/.github/actions/setup-php/README.md +++ b/.github/actions/setup-php/README.md @@ -24,6 +24,3 @@ steps: | `composer-options` | `'--prefer-dist'` | Arguments passed to Composer install. | | `composer-auth-json` | `''` | Authentication for privately hosted packages and repositories as a JSON formatted object. | -## Notes - -- When `composer-install` is `'true'`, `composer validate` runs automatically before installing dependencies. This ensures that `composer.json` and `composer.lock` are consistent. From be54f4c71da8f54ca223ff5fcbece43922a587ea Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Tue, 23 Jun 2026 10:02:25 +0200 Subject: [PATCH 26/27] Reference third party actions by their commit SHA --- .github/actions/setup-git/action.yml | 2 +- .github/actions/setup-node/action.yml | 2 +- .github/actions/setup-php/action.yml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/actions/setup-git/action.yml b/.github/actions/setup-git/action.yml index fae43de4..e1950bd9 100644 --- a/.github/actions/setup-git/action.yml +++ b/.github/actions/setup-git/action.yml @@ -28,7 +28,7 @@ runs: steps: - name: Set up SSH if: ${{ inputs.ssh-private-key != '' }} - uses: webfactory/ssh-agent@v0.9.1 + uses: webfactory/ssh-agent@e83874834305fe9a4a2997156cb26c5de65a8555 # v0.10.0 with: ssh-private-key: ${{ inputs.ssh-private-key }} diff --git a/.github/actions/setup-node/action.yml b/.github/actions/setup-node/action.yml index dfa26e30..68d92c11 100644 --- a/.github/actions/setup-node/action.yml +++ b/.github/actions/setup-node/action.yml @@ -55,7 +55,7 @@ runs: echo "cache-mode=$CACHE_MODE" >> "$GITHUB_OUTPUT" - name: Set up Node - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 env: NODE_OPTIONS: ${{ inputs.node-options }} NODE_AUTH_TOKEN: ${{ inputs.node-auth-token }} diff --git a/.github/actions/setup-php/action.yml b/.github/actions/setup-php/action.yml index 6138c101..fb50941c 100644 --- a/.github/actions/setup-php/action.yml +++ b/.github/actions/setup-php/action.yml @@ -35,7 +35,7 @@ runs: using: composite steps: - name: Set up PHP - uses: shivammathur/setup-php@v2 + uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # 2.37.2 with: php-version: ${{ inputs.php-version }} extensions: ${{ inputs.php-extensions }} @@ -49,7 +49,7 @@ runs: - name: Install Composer dependencies if: ${{ inputs.composer-install == 'true' }} - uses: ramsey/composer-install@v3 + uses: ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda # 4.0.0 env: COMPOSER_AUTH: ${{ inputs.composer-auth-json }} with: From 3e89a5c5090e9691636fa9f30e2ee535f2cf9e64 Mon Sep 17 00:00:00 2001 From: Erika Gili Date: Thu, 25 Jun 2026 10:30:47 +0200 Subject: [PATCH 27/27] Remove reference to the feature branch in preparation for merging --- .github/workflows/automatic-release.yml | 4 ++-- .github/workflows/build-and-distribute.yml | 4 ++-- .github/workflows/coding-standards-php.yml | 2 +- .github/workflows/deploy-deployer.yml | 6 +++--- .github/workflows/lint-php.yml | 2 +- .github/workflows/static-analysis-js.yml | 4 ++-- .github/workflows/static-analysis-php.yml | 2 +- .github/workflows/test-playwright.yml | 6 +++--- .github/workflows/tests-unit-js.yml | 4 ++-- .github/workflows/tests-unit-php.yml | 2 +- .github/workflows/wp-scripts-lint.yml | 4 ++-- 11 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/automatic-release.yml b/.github/workflows/automatic-release.yml index 16d991d8..2ef0fb99 100644 --- a/.github/workflows/automatic-release.yml +++ b/.github/workflows/automatic-release.yml @@ -45,7 +45,7 @@ jobs: path: semantic-release-repo - name: Set up Node - uses: inpsyde/reusable-workflows/.github/actions/setup-node@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-node@main with: node-version-file: semantic-release-repo/package.json registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} @@ -69,7 +69,7 @@ jobs: ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} - name: Set up Git - uses: inpsyde/reusable-workflows/.github/actions/setup-git@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-git@main with: ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} ssh-public-key: ${{ secrets.GITHUB_USER_SSH_PUBLIC_KEY }} diff --git a/.github/workflows/build-and-distribute.yml b/.github/workflows/build-and-distribute.yml index b0883c98..8b4f13d5 100644 --- a/.github/workflows/build-and-distribute.yml +++ b/.github/workflows/build-and-distribute.yml @@ -108,7 +108,7 @@ jobs: ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} - name: Set up Git - uses: inpsyde/reusable-workflows/.github/actions/setup-git@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-git@main with: ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} user-email: ${{ secrets.GITHUB_USER_EMAIL }} @@ -258,7 +258,7 @@ jobs: composer-options: ${{ inputs.COMPOSER_ARGS }} - name: Set up Node - uses: inpsyde/reusable-workflows/.github/actions/setup-node@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-node@main with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} diff --git a/.github/workflows/coding-standards-php.yml b/.github/workflows/coding-standards-php.yml index a5fde824..b0b60f24 100644 --- a/.github/workflows/coding-standards-php.yml +++ b/.github/workflows/coding-standards-php.yml @@ -56,7 +56,7 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up PHP - uses: inpsyde/reusable-workflows/.github/actions/setup-php@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-php@main with: php-version: ${{ inputs.PHP_VERSION }} php-extensions: ${{ inputs.PHP_EXTENSIONS }} diff --git a/.github/workflows/deploy-deployer.yml b/.github/workflows/deploy-deployer.yml index ebc23337..9bb92aa3 100644 --- a/.github/workflows/deploy-deployer.yml +++ b/.github/workflows/deploy-deployer.yml @@ -73,7 +73,7 @@ jobs: ssh-key: ${{ secrets.GITHUB_USER_SSH_KEY }} - name: Set up Git - uses: inpsyde/reusable-workflows/.github/actions/setup-git@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-git@main with: ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} @@ -86,7 +86,7 @@ jobs: wireguard-configuration: ${{ secrets.WIREGUARD_CONFIGURATION }} - name: Set up PHP - uses: inpsyde/reusable-workflows/.github/actions/setup-php@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-php@main with: php-version: ${{ inputs.PHP_VERSION }} php-extensions: ${{ inputs.PHP_EXTENSIONS }} @@ -105,7 +105,7 @@ jobs: - name: Set up Node if: steps.npm-workspaces.outputs.enabled == 'true' - uses: inpsyde/reusable-workflows/.github/actions/setup-node@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-node@main with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} diff --git a/.github/workflows/lint-php.yml b/.github/workflows/lint-php.yml index d5834e5d..639224b8 100644 --- a/.github/workflows/lint-php.yml +++ b/.github/workflows/lint-php.yml @@ -56,7 +56,7 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up PHP - uses: inpsyde/reusable-workflows/.github/actions/setup-php@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-php@main with: php-version: ${{ inputs.PHP_VERSION }} php-extensions: ${{ inputs.PHP_EXTENSIONS }} diff --git a/.github/workflows/static-analysis-js.yml b/.github/workflows/static-analysis-js.yml index 81545a5a..543d6f0c 100644 --- a/.github/workflows/static-analysis-js.yml +++ b/.github/workflows/static-analysis-js.yml @@ -55,14 +55,14 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up Git - uses: inpsyde/reusable-workflows/.github/actions/setup-git@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-git@main with: ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} user-email: ${{ secrets.GITHUB_USER_EMAIL }} user-name: ${{ secrets.GITHUB_USER_NAME }} - name: Set up Node - uses: inpsyde/reusable-workflows/.github/actions/setup-node@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-node@main with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} diff --git a/.github/workflows/static-analysis-php.yml b/.github/workflows/static-analysis-php.yml index 2b035b7d..5b40a056 100644 --- a/.github/workflows/static-analysis-php.yml +++ b/.github/workflows/static-analysis-php.yml @@ -56,7 +56,7 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up PHP - uses: inpsyde/reusable-workflows/.github/actions/setup-php@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-php@main with: php-version: ${{ inputs.PHP_VERSION }} php-extensions: ${{ inputs.PHP_EXTENSIONS }} diff --git a/.github/workflows/test-playwright.yml b/.github/workflows/test-playwright.yml index 850586df..03124dbb 100644 --- a/.github/workflows/test-playwright.yml +++ b/.github/workflows/test-playwright.yml @@ -121,7 +121,7 @@ jobs: uses: actions/checkout@v4 - name: Set up Git - uses: inpsyde/reusable-workflows/.github/actions/setup-git@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-git@main with: ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} user-email: ${{ secrets.GITHUB_USER_EMAIL }} @@ -129,14 +129,14 @@ jobs: - name: Set up PHP if: ${{ inputs.COMPOSER_DEPS_INSTALL }} - uses: inpsyde/reusable-workflows/.github/actions/setup-php@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-php@main with: php-version: ${{ inputs.PHP_VERSION }} php-extensions: ${{ inputs.PHP_EXTENSIONS }} composer-auth-json: ${{ secrets.COMPOSER_AUTH_JSON }} - name: Set up Node - uses: inpsyde/reusable-workflows/.github/actions/setup-node@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-node@main with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} diff --git a/.github/workflows/tests-unit-js.yml b/.github/workflows/tests-unit-js.yml index afb99528..3502d480 100644 --- a/.github/workflows/tests-unit-js.yml +++ b/.github/workflows/tests-unit-js.yml @@ -65,14 +65,14 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up Git - uses: inpsyde/reusable-workflows/.github/actions/setup-git@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-git@main with: ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} user-email: ${{ secrets.GITHUB_USER_EMAIL }} user-name: ${{ secrets.GITHUB_USER_NAME }} - name: Set up Node - uses: inpsyde/reusable-workflows/.github/actions/setup-node@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-node@main with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }} diff --git a/.github/workflows/tests-unit-php.yml b/.github/workflows/tests-unit-php.yml index 1509bb81..10359bd3 100644 --- a/.github/workflows/tests-unit-php.yml +++ b/.github/workflows/tests-unit-php.yml @@ -51,7 +51,7 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up PHP - uses: inpsyde/reusable-workflows/.github/actions/setup-php@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-php@main with: php-version: ${{ inputs.PHP_VERSION }} php-extensions: ${{ inputs.PHP_EXTENSIONS }} diff --git a/.github/workflows/wp-scripts-lint.yml b/.github/workflows/wp-scripts-lint.yml index b9e00e0d..be946d1f 100644 --- a/.github/workflows/wp-scripts-lint.yml +++ b/.github/workflows/wp-scripts-lint.yml @@ -86,14 +86,14 @@ jobs: .forEach(envVar => core.exportVariable(envVar.name, envVar.value)); - name: Set up Git - uses: inpsyde/reusable-workflows/.github/actions/setup-git@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-git@main with: ssh-private-key: ${{ secrets.GITHUB_USER_SSH_KEY }} user-email: ${{ secrets.GITHUB_USER_EMAIL }} user-name: ${{ secrets.GITHUB_USER_NAME }} - name: Set up Node - uses: inpsyde/reusable-workflows/.github/actions/setup-node@fix/247 + uses: inpsyde/reusable-workflows/.github/actions/setup-node@main with: node-version: ${{ inputs.NODE_VERSION }} registry-url: ${{ inputs.NPM_REGISTRY_DOMAIN }}