diff --git a/.gitea/workflows/playwright.yml b/.gitea/workflows/playwright.yml index ca5c143..aa0bd6c 100644 --- a/.gitea/workflows/playwright.yml +++ b/.gitea/workflows/playwright.yml @@ -41,7 +41,27 @@ jobs: ;; esac + - name: Check existing Node.js + id: node-check + shell: bash + run: | + set -Eeuo pipefail + + if command -v node >/dev/null 2>&1; then + node_version="$(node -p 'process.versions.node')" + node_major="${node_version%%.*}" + + if [ "$node_major" = "20" ]; then + echo "use_existing_node=true" >> "$GITHUB_OUTPUT" + echo "Node.js $node_version already available; skipping setup-node" + exit 0 + fi + fi + + echo "use_existing_node=false" >> "$GITHUB_OUTPUT" + - name: Setup Node.js + if: steps.node-check.outputs.use_existing_node != 'true' uses: actions/setup-node@v4 with: node-version: 20 @@ -72,4 +92,3 @@ jobs: - name: Run Playwright suite run: npm run test:e2e - diff --git a/.gitea/workflows/test-build.yml b/.gitea/workflows/test-build.yml index fe8b5e1..da16964 100644 --- a/.gitea/workflows/test-build.yml +++ b/.gitea/workflows/test-build.yml @@ -18,7 +18,27 @@ jobs: with: github-server-url: https://git.dumas.ddns.net + - name: Check existing Node.js + id: node-check + shell: bash + run: | + set -Eeuo pipefail + + if command -v node >/dev/null 2>&1; then + node_version="$(node -p 'process.versions.node')" + node_major="${node_version%%.*}" + + if [ "$node_major" = "20" ]; then + echo "use_existing_node=true" >> "$GITHUB_OUTPUT" + echo "Node.js $node_version already available; skipping setup-node" + exit 0 + fi + fi + + echo "use_existing_node=false" >> "$GITHUB_OUTPUT" + - name: Setup Node.js + if: steps.node-check.outputs.use_existing_node != 'true' uses: actions/setup-node@v4 with: node-version: 20 @@ -32,4 +52,3 @@ jobs: - name: Build run: npm run build -