Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 9s
Build & Deploy / 🧪 QA (push) Failing after 5s
Build & Deploy / 🏗️ Build (push) Has been skipped
Build & Deploy / 🚀 Deploy (push) Has been skipped
Build & Deploy / 🧪 Post-Deploy Verification (push) Has been skipped
Build & Deploy / 🔔 Notify (push) Successful in 1s
CI - Lint, Typecheck & Test / quality-assurance (pull_request) Successful in 7m43s
74 lines
2.6 KiB
YAML
74 lines
2.6 KiB
YAML
name: CI - Lint, Typecheck & Test
|
|
|
|
on:
|
|
pull_request:
|
|
|
|
concurrency:
|
|
group: deploy-pipeline
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
quality-assurance:
|
|
runs-on: docker
|
|
env:
|
|
PUPPETEER_EXECUTABLE_PATH: /usr/bin/chromium
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup pnpm
|
|
uses: pnpm/action-setup@v3
|
|
with:
|
|
version: 10
|
|
run_install: false
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
|
|
- name: 🔐 Registry Auth
|
|
run: |
|
|
echo "@mintel:registry=https://git.infra.mintel.me/api/packages/mmintel/npm" > .npmrc
|
|
echo "//git.infra.mintel.me/api/packages/mmintel/npm/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
|
|
- name: Install dependencies
|
|
run: |
|
|
pnpm store prune
|
|
pnpm install --no-frozen-lockfile
|
|
|
|
- name: 🌐 Install Chromium (Native & ARM64)
|
|
run: |
|
|
rm -f /etc/apt/apt.conf.d/docker-clean
|
|
apt-get update
|
|
apt-get install -y gnupg wget ca-certificates
|
|
OS_ID=$(. /etc/os-release && echo $ID)
|
|
CODENAME=$(. /etc/os-release && echo $VERSION_CODENAME)
|
|
if [ "$OS_ID" = "debian" ]; then
|
|
apt-get install -y chromium
|
|
else
|
|
mkdir -p /etc/apt/keyrings
|
|
KEY_ID="82BB6851C64F6880"
|
|
wget -qO- "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x$KEY_ID" | 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
|
|
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
|
|
fi
|
|
[ -f /usr/bin/chromium ] && ln -sf /usr/bin/chromium /usr/bin/google-chrome
|
|
[ -f /usr/bin/chromium ] && ln -sf /usr/bin/chromium /usr/bin/chromium-browser
|
|
|
|
- name: 🧪 QA Checks
|
|
env:
|
|
TURBO_TELEMETRY_DISABLED: "1"
|
|
run: npx turbo run lint typecheck test --cache-dir=".turbo"
|
|
|
|
- name: 🏗️ Build
|
|
run: pnpm build
|
|
|
|
- name: ♿ Accessibility Check
|
|
run: pnpm start-server-and-test start http://localhost:3000 "pnpm check:a11y http://localhost:3000"
|
|
|
|
- name: ♿ WCAG Sitemap Audit
|
|
run: pnpm start-server-and-test start http://localhost:3000 "pnpm run check:wcag http://localhost:3000"
|
|
# monitor trigger
|