chore(qa): harden nightly pipeline jobs (browser install, depcheck ignores, link-check robustness)
Some checks failed
🚀 Build & Deploy / 🧪 QA (push) Has been cancelled
🚀 Build & Deploy / 🏗️ Build (push) Has been cancelled
🚀 Build & Deploy / 🚀 Deploy (push) Has been cancelled
🚀 Build & Deploy / 🧪 Post-Deploy Verification (push) Has been cancelled
🚀 Build & Deploy / 🔔 Notify (push) Has been cancelled
🚀 Build & Deploy / 🔍 Prepare (push) Has been cancelled
Nightly QA (Inlined) / 🏗️ Prepare & Install (push) Successful in 31s
Nightly QA (Inlined) / 🔍 Static Analysis (push) Failing after 1m6s
Nightly QA (Inlined) / 🧪 Maintenance & Links (push) Successful in 45s
Nightly QA (Inlined) / ♿ Accessibility (push) Successful in 2m15s
Nightly QA (Inlined) / 🎭 Lighthouse (push) Failing after 1m56s
Nightly QA (Inlined) / 🔔 Notify (push) Successful in 2s
Some checks failed
🚀 Build & Deploy / 🧪 QA (push) Has been cancelled
🚀 Build & Deploy / 🏗️ Build (push) Has been cancelled
🚀 Build & Deploy / 🚀 Deploy (push) Has been cancelled
🚀 Build & Deploy / 🧪 Post-Deploy Verification (push) Has been cancelled
🚀 Build & Deploy / 🔔 Notify (push) Has been cancelled
🚀 Build & Deploy / 🔍 Prepare (push) Has been cancelled
Nightly QA (Inlined) / 🏗️ Prepare & Install (push) Successful in 31s
Nightly QA (Inlined) / 🔍 Static Analysis (push) Failing after 1m6s
Nightly QA (Inlined) / 🧪 Maintenance & Links (push) Successful in 45s
Nightly QA (Inlined) / ♿ Accessibility (push) Successful in 2m15s
Nightly QA (Inlined) / 🎭 Lighthouse (push) Failing after 1m56s
Nightly QA (Inlined) / 🔔 Notify (push) Successful in 2s
This commit is contained in:
@@ -66,6 +66,8 @@ jobs:
|
|||||||
NEXT_PUBLIC_BASE_URL: 'https://testing.mb-grid-solutions.com'
|
NEXT_PUBLIC_BASE_URL: 'https://testing.mb-grid-solutions.com'
|
||||||
GATEKEEPER_PASSWORD: ${{ secrets.GATEKEEPER_PASSWORD || vars.GATEKEEPER_PASSWORD || 'lassmichrein' }}
|
GATEKEEPER_PASSWORD: ${{ secrets.GATEKEEPER_PASSWORD || vars.GATEKEEPER_PASSWORD || 'lassmichrein' }}
|
||||||
run: pnpm run check:html
|
run: pnpm run check:html
|
||||||
|
- name: 🔍 Install Puppeteer Browser
|
||||||
|
run: pnpm dlx puppeteer browsers install chrome
|
||||||
- name: 🖼️ Asset Scan
|
- name: 🖼️ Asset Scan
|
||||||
env:
|
env:
|
||||||
NEXT_PUBLIC_BASE_URL: 'https://testing.mb-grid-solutions.com'
|
NEXT_PUBLIC_BASE_URL: 'https://testing.mb-grid-solutions.com'
|
||||||
@@ -104,8 +106,9 @@ jobs:
|
|||||||
wget -qO- "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x82BB6851C64F6880" | gpg --dearmor > /etc/apt/keyrings/xtradeb.gpg
|
wget -qO- "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x82BB6851C64F6880" | gpg --dearmor > /etc/apt/keyrings/xtradeb.gpg
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/xtradeb.gpg] http://ppa.launchpad.net/xtradeb/apps/ubuntu $CODENAME main" > /etc/apt/sources.list.d/xtradeb-ppa.list
|
echo "deb [signed-by=/etc/apt/keyrings/xtradeb.gpg] http://ppa.launchpad.net/xtradeb/apps/ubuntu $CODENAME main" > /etc/apt/sources.list.d/xtradeb-ppa.list
|
||||||
printf "Package: *\nPin: release o=LP-PPA-xtradeb-apps\nPin-Priority: 1001\n" > /etc/apt/preferences.d/xtradeb
|
printf "Package: *\nPin: release o=LP-PPA-xtradeb-apps\nPin-Priority: 1001\n" > /etc/apt/preferences.d/xtradeb
|
||||||
apt-get update && apt-get install -y --allow-downgrades chromium
|
apt-get update || true # Ignore PPA timeout if it happens
|
||||||
ln -sf /usr/bin/chromium /usr/bin/google-chrome
|
apt-get install -y --allow-downgrades chromium-browser || apt-get install -y chromium
|
||||||
|
ln -sf /usr/bin/chromium-browser /usr/bin/google-chrome || ln -sf /usr/bin/chromium /usr/bin/google-chrome
|
||||||
- name: ♿ WCAG Scan
|
- name: ♿ WCAG Scan
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
env:
|
env:
|
||||||
@@ -139,12 +142,13 @@ jobs:
|
|||||||
run: pnpm install --frozen-lockfile
|
run: pnpm install --frozen-lockfile
|
||||||
- name: 📦 Depcheck
|
- name: 📦 Depcheck
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
run: pnpm dlx depcheck --ignores="*eslint*,*typescript*,*tailwindcss*,*postcss*,*prettier*,*@types/*,*husky*,*lint-staged*,*@next/*,*@lhci/*,*commitlint*,*cspell*,*rimraf*,*@payloadcms/*,*start-server-and-test*,*html-validate*,*critters*,*dotenv*,*turbo*,autoprefixer,pa11y-ci,pino-pretty"
|
run: pnpm dlx depcheck --ignores="*eslint*,*typescript*,*tailwindcss*,*postcss*,*prettier*,*@types/*,*husky*,*lint-staged*,*@next/*,*@lhci/*,*commitlint*,*cspell*,*rimraf*,*@payloadcms/*,*start-server-and-test*,*html-validate*,*critters*,*dotenv*,*turbo*,autoprefixer,pa11y-ci,pino-pretty,framer-motion,lucide-react,next-intl,nodemailer,sharp,vitest"
|
||||||
- name: 🔗 Lychee Link Check
|
- name: 🔗 Lychee Link Check
|
||||||
uses: lycheeverse/lychee-action@v2
|
uses: lycheeverse/lychee-action@v2
|
||||||
with:
|
with:
|
||||||
args: --accept 200,204,429 --timeout 15 app/ public/
|
args: --accept 200,204,429 --timeout 15 app/ public/
|
||||||
fail: true
|
fail: true
|
||||||
|
failIfEmpty: false
|
||||||
|
|
||||||
performance:
|
performance:
|
||||||
name: 🎭 Lighthouse
|
name: 🎭 Lighthouse
|
||||||
@@ -178,18 +182,19 @@ jobs:
|
|||||||
wget -qO- "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x82BB6851C64F6880" | gpg --dearmor > /etc/apt/keyrings/xtradeb.gpg
|
wget -qO- "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x82BB6851C64F6880" | gpg --dearmor > /etc/apt/keyrings/xtradeb.gpg
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/xtradeb.gpg] http://ppa.launchpad.net/xtradeb/apps/ubuntu $CODENAME main" > /etc/apt/sources.list.d/xtradeb-ppa.list
|
echo "deb [signed-by=/etc/apt/keyrings/xtradeb.gpg] http://ppa.launchpad.net/xtradeb/apps/ubuntu $CODENAME main" > /etc/apt/sources.list.d/xtradeb-ppa.list
|
||||||
printf "Package: *\nPin: release o=LP-PPA-xtradeb-apps\nPin-Priority: 1001\n" > /etc/apt/preferences.d/xtradeb
|
printf "Package: *\nPin: release o=LP-PPA-xtradeb-apps\nPin-Priority: 1001\n" > /etc/apt/preferences.d/xtradeb
|
||||||
apt-get update && apt-get install -y --allow-downgrades chromium
|
apt-get update || true # Ignore PPA timeout if it happens
|
||||||
ln -sf /usr/bin/chromium /usr/bin/google-chrome
|
apt-get install -y --allow-downgrades chromium-browser || apt-get install -y chromium
|
||||||
|
ln -sf /usr/bin/chromium-browser /usr/bin/google-chrome || ln -sf /usr/bin/chromium /usr/bin/google-chrome
|
||||||
- name: 🎭 LHCI Desktop
|
- name: 🎭 LHCI Desktop
|
||||||
env:
|
env:
|
||||||
LHCI_URL: 'https://testing.mb-grid-solutions.com'
|
LHCI_URL: 'https://testing.mb-grid-solutions.com'
|
||||||
GATEKEEPER_PASSWORD: ${{ secrets.GATEKEEPER_PASSWORD || vars.GATEKEEPER_PASSWORD || 'lassmichrein' }}
|
GATEKEEPER_PASSWORD: ${{ secrets.GATEKEEPER_PASSWORD || vars.GATEKEEPER_PASSWORD || 'lassmichrein' }}
|
||||||
run: pnpm run pagespeed:test -- --collect.settings.preset=desktop
|
run: pnpm exec mintel pagespeed test -- --collect.settings.preset=desktop
|
||||||
- name: 📱 LHCI Mobile
|
- name: 📱 LHCI Mobile
|
||||||
env:
|
env:
|
||||||
LHCI_URL: 'https://testing.mb-grid-solutions.com'
|
LHCI_URL: 'https://testing.mb-grid-solutions.com'
|
||||||
GATEKEEPER_PASSWORD: ${{ secrets.GATEKEEPER_PASSWORD || vars.GATEKEEPER_PASSWORD || 'lassmichrein' }}
|
GATEKEEPER_PASSWORD: ${{ secrets.GATEKEEPER_PASSWORD || vars.GATEKEEPER_PASSWORD || 'lassmichrein' }}
|
||||||
run: pnpm run pagespeed:test -- --collect.settings.preset=mobile
|
run: pnpm exec mintel pagespeed test -- --collect.settings.preset=mobile
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
name: 🔔 Notify
|
name: 🔔 Notify
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
import * as cheerio from "cheerio";
|
|
||||||
import * as fs from "fs";
|
|
||||||
|
|
||||||
const file = process.argv[2];
|
|
||||||
const html = fs.readFileSync(file, "utf8");
|
|
||||||
const $ = cheerio.load(html);
|
|
||||||
|
|
||||||
$("a").each((i, el) => {
|
|
||||||
const text = $(el).text().trim();
|
|
||||||
const label = $(el).attr("aria-label");
|
|
||||||
if (!text && !label) {
|
|
||||||
console.log(`Empty anchor found: ${$(el).toString()}`);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Reference in New Issue
Block a user