Skip to content

fix(ci): install playwright chromium before running tests #28

fix(ci): install playwright chromium before running tests

fix(ci): install playwright chromium before running tests #28

Workflow file for this run

name: Create release
on:
push:
tags:
- "v*" # Toolkit releases (backward compatible)
- "toolkit-v*" # Toolkit releases (new pattern)
- "react-v*" # React components releases
jobs:
build:
name: Create release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version: "22.x"
- name: Enable Corepack and pnpm
run: |
corepack enable
corepack prepare pnpm@10.29.2 --activate
- name: Install dependencies
run: pnpm install
- name: Run linting
run: pnpm run lint
- name: Install Playwright browser for tests
run: pnpm --filter=@ourfuturehealth/react-components exec playwright install --with-deps chromium
- name: Run tests
run: pnpm test
- name: Determine package and version
id: package_info
run: |
TAG=${GITHUB_REF#refs/tags/}
if [[ $TAG == react-v* ]]; then
echo "PACKAGE=react-components" >> $GITHUB_OUTPUT
echo "VERSION=${TAG#react-v}" >> $GITHUB_OUTPUT
echo "BUILD_CMD=build" >> $GITHUB_OUTPUT
elif [[ $TAG == toolkit-v* ]]; then
echo "PACKAGE=toolkit" >> $GITHUB_OUTPUT
echo "VERSION=${TAG#toolkit-v}" >> $GITHUB_OUTPUT
echo "BUILD_CMD=zip" >> $GITHUB_OUTPUT
else
# Assume v* tags are toolkit (backward compatibility)
echo "PACKAGE=toolkit" >> $GITHUB_OUTPUT
echo "VERSION=${TAG#v}" >> $GITHUB_OUTPUT
echo "BUILD_CMD=zip" >> $GITHUB_OUTPUT
fi
- name: Build release artifact
run: |
if [ "${{ steps.package_info.outputs.PACKAGE }}" == "toolkit" ]; then
pnpm --filter=@ourfuturehealth/toolkit run zip
else
pnpm --filter=@ourfuturehealth/react-components run build
fi
- name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
draft: false
prerelease: false
body: |
Release of **${{ steps.package_info.outputs.PACKAGE }}** version ${{ steps.package_info.outputs.VERSION }}
## Installation
```json
{
"dependencies": {
"@ourfuturehealth/${{ steps.package_info.outputs.PACKAGE }}": "github:ourfuturehealth/design-system-toolkit#${{ github.ref_name }}:packages/${{ steps.package_info.outputs.PACKAGE }}"
}
}
```
- name: Upload toolkit zip asset
if: steps.package_info.outputs.PACKAGE == 'toolkit'
id: upload-toolkit-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./packages/toolkit/dist/ofh-design-system-toolkit-${{ steps.package_info.outputs.VERSION }}.zip
asset_name: ofh-design-system-toolkit-${{ steps.package_info.outputs.VERSION }}.zip
asset_content_type: application/zip