Skip to content

Update pnpm to v9.7.1 and stylelint to v16.8.2 #2015

Update pnpm to v9.7.1 and stylelint to v16.8.2

Update pnpm to v9.7.1 and stylelint to v16.8.2 #2015

Workflow file for this run

name: CI
# In the future check if Devcontainers should be used to all run the pipeline
on:
workflow_dispatch:
push:
branches: [main]
pull_request:
branches: [main]
env:
HUSKY: 0
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
TURBO_CACHE_DIR: .turbo
VRT_BROWSER: chromium
jobs:
build-devcontainer:
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Repository to lowercase
id: lowercase-repository
run: |
echo "repository=${GITHUB_REPOSITORY@L}" >> $GITHUB_OUTPUT
- name: Build dev container image
uses: devcontainers/ci@v0.3
with:
configFile: ./.devcontainer/devcontainer-base.json
imageName: ghcr.io/${{ steps.lowercase-repository.outputs.repository }}/devcontainer
cacheFrom: ghcr.io/${{ steps.lowercase-repository.outputs.repository }}/devcontainer
push: always
test:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Cache Turbo
uses: actions/cache@v4
with:
save-always: true
path: ${{ env.TURBO_CACHE_DIR }}
key: ${{ runner.os }}-turbo-${{ github.sha }}-${{ github.job }}
restore-keys: |
${{ runner.os }}-turbo-
- name: Use pnpm
uses: pnpm/action-setup@v3
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: 'package.json'
cache: 'pnpm'
- name: Install dependencies
# change to pnpm ci once it is implemented
run: |
pnpm i --frozen-lockfile --loglevel warn
pnpm exec playwright install --with-deps chromium
- name: Lint files
run: pnpm run lint --cache-dir=${{ env.TURBO_CACHE_DIR }}
- name: Run tests
run: pnpm run test --cache-dir=${{ env.TURBO_CACHE_DIR }}
- name: Build
run: pnpm run build --cache-dir=${{ env.TURBO_CACHE_DIR }}
vrt:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
lfs: 'true'
- name: Pull LFS files
run: git lfs pull
- name: Cache Turbo
uses: actions/cache@v4
with:
save-always: true
path: ${{ env.TURBO_CACHE_DIR }}
key: ${{ runner.os }}-turbo-${{ github.sha }}-${{ github.job }}
restore-keys: |
${{ runner.os }}-turbo-
- name: Use pnpm
uses: pnpm/action-setup@v3
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: 'package.json'
cache: 'pnpm'
- name: Install dependencies
# change to pnpm ci once it is implemented
run: |
pnpm i --frozen-lockfile --loglevel warn
pnpm exec playwright install --with-deps ${{ env.VRT_BROWSER }}
- name: Run tests
run: pnpm run vrt --cache-dir="${{ env.TURBO_CACHE_DIR }}"
- name: Upload report
uses: actions/upload-artifact@v4
if: failure()
with:
name: vrt-report
path: |
apps/*/vrt/report
packages/*/vrt/report
retention-days: 1
e2e:
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
matrix:
browser: [chromium, firefox, webkit]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Restore turbo cache
uses: actions/cache@v4
with:
save-always: true
path: ${{ env.TURBO_CACHE_DIR }}
key: ${{ runner.os }}-turbo-${{ github.sha }}-${{ github.job }}
restore-keys: |
${{ runner.os }}-turbo-
- name: Use pnpm
uses: pnpm/action-setup@v3
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: 'package.json'
cache: 'pnpm'
- name: Install dependencies
# change to pnpm ci once it is implemented
run: |
pnpm i --frozen-lockfile --loglevel warn
pnpm exec playwright install --with-deps ${{ matrix.browser }}
- name: Build
run: pnpm run build --cache-dir=${{ env.TURBO_CACHE_DIR }}
env:
VITE_E2E: true
- name: Run tests
run: pnpm run e2e --force --no-cache -- --project="${{ matrix.browser }}"
- uses: actions/upload-artifact@v4
if: failure()
with:
name: e2e-report-${{ matrix.browser }}
path: apps/*/e2e/results
retention-days: 1