From 6a14c9924f88be788642076d5e6dcaa7abdd5abc Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Tue, 3 Mar 2026 20:30:51 +0100 Subject: [PATCH] chore(ci): use perl for dependency redirection to avoid yaml linter errors --- .gitea/workflows/deploy.yml | 41 +++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 0837837..84fad67 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -157,20 +157,22 @@ jobs: run: | git clone https://git.infra.mintel.me/mmintel/at-mintel.git _at-mintel - # Fix path references for all linked packages - sed -i 's|../../../at-mintel|../../_at-mintel|g' apps/web/package.json - sed -i 's|../../../at-mintel|../../_at-mintel|g' apps/web/tsconfig.json - sed -i 's|../at-mintel|./_at-mintel|g' package.json + # Force ALL @mintel packages to use the local clone instead of the registry + # This handles root package.json + perl -pi -e 's/"@mintel\/([^"]+)": "[^"]+"/"\@mintel\/$1": "link:.\/_at-mintel\/packages\/$1"/g' package.json + # Special case for pdf -> pdf-library + perl -pi -e 's/link:.\/_at-mintel\/packages\/pdf"/link:.\/_at-mintel\/packages\/pdf-library"/g' package.json - # Force @mintel/payload-ai to use the local clone instead of the registry - # This handles both root and apps/web package.json - sed -i 's|"@mintel/payload-ai": "[^"]*"|"@mintel/payload-ai": "link:./_at-mintel/packages/payload-ai"|g' package.json - sed -i 's|"@mintel/payload-ai": "[^"]*"|"@mintel/payload-ai": "link:../../_at-mintel/packages/payload-ai"|g' apps/web/package.json + # Handle apps/web/package.json + perl -pi -e 's/"@mintel\/([^"]+)": "[^"]+"/"\@mintel\/$1": "link:..\/\.\.\/_at-mintel\/packages\/$1"/g' apps/web/package.json + # Special case for pdf -> pdf-library + perl -pi -e 's/link:..\/\.\.\/_at-mintel\/packages\/pdf"/link:..\/\.\.\/_at-mintel\/packages\/pdf-library"/g' apps/web/package.json - # Remove broken tsconfig paths in sibling monorepo to prevent tsc failures - if [ -f _at-mintel/packages/payload-ai/tsconfig.json ]; then - sed -i '/"paths": {/,/}/d' _at-mintel/packages/payload-ai/tsconfig.json - fi + # Fix tsconfig paths if they exist + sed -i 's|../../../at-mintel|../../_at-mintel|g' apps/web/tsconfig.json || true + + # Fix tsconfig paths if they exist + sed -i 's|../../../at-mintel|../../_at-mintel|g' apps/web/tsconfig.json || true - name: ๐Ÿ” Registry Auth run: | TOKEN="${{ secrets.NPM_TOKEN }}" @@ -191,25 +193,28 @@ jobs: - name: ๐Ÿ—๏ธ Compile Sibling Monorepo timeout-minutes: 15 run: | + mkdir -p ci-logs + echo "=== Compile Sibling Monorepo ===" >> ci-logs/summary.txt cp .npmrc _at-mintel/ cd _at-mintel - pnpm install --no-frozen-lockfile --loglevel info - # Only build necessary packages to save time and avoid environmental failures + pnpm install --no-frozen-lockfile --loglevel info 2>&1 | tee -a ../ci-logs/summary.txt pnpm --filter "...@mintel/payload-ai" \ --filter @mintel/pdf... \ --filter @mintel/concept-engine... \ --filter @mintel/estimation-engine... \ --filter @mintel/meme-generator... \ - build --loglevel info + build --loglevel info 2>&1 | tee -a ../ci-logs/summary.txt - name: Install dependencies timeout-minutes: 10 run: | - pnpm store prune - pnpm install --no-frozen-lockfile --loglevel info + echo "=== Install dependencies (Root) ===" >> ci-logs/summary.txt + pnpm install --no-frozen-lockfile --loglevel info 2>&1 | tee -a ci-logs/summary.txt - name: ๐Ÿงช Test if: github.event.inputs.skip_checks != 'true' timeout-minutes: 10 - run: pnpm --filter @mintel/web test --loglevel info + run: | + echo "=== Test (@mintel/web) ===" >> ci-logs/summary.txt + pnpm --filter @mintel/web test --loglevel info 2>&1 | tee -a ci-logs/summary.txt - name: Inspect on Failure if: failure() run: |