Files
self/.github/workflows/workspace-ci.yml

199 lines
4.8 KiB
YAML

name: Workspace CI
on:
pull_request:
branches:
- dev
- staging
- main
push:
branches:
- dev
- staging
- main
jobs:
workspace-build:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
*/node_modules
packages/*/node_modules
cache-version: v1
- name: Install Dependencies
uses: ./.github/actions/yarn-install
- name: Run workspace build
run: yarn build
- name: Verify build artifacts
run: |
echo "Checking for build artifacts..."
find . -name "dist" -type d | head -10
echo "Build completed successfully!"
workspace-type-check:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
*/node_modules
packages/*/node_modules
cache-version: v1
- name: Install Dependencies
uses: ./.github/actions/yarn-install
- name: Build workspace dependencies
run: yarn build
- name: Run workspace type checking
run: yarn types
- name: Verify type checking passed
run: echo "Type checking completed successfully!"
workspace-lint:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
*/node_modules
packages/*/node_modules
cache-version: v1
- name: Install Dependencies
uses: ./.github/actions/yarn-install
- name: Build workspace dependencies
run: yarn build
- name: Run workspace linting
run: yarn lint
- name: Verify linting passed
run: echo "Linting completed successfully!"
workspace-format-check:
if: false
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
*/node_modules
packages/*/node_modules
cache-version: v1
- name: Install Dependencies
uses: ./.github/actions/yarn-install
- name: Check code formatting (dry run)
run: |
echo "Checking if code is properly formatted..."
# Run format in dry-run mode by checking if any files would change
if ! git diff --quiet --exit-code; then
echo "Working directory not clean before format check"
git status --porcelain
exit 1
fi
yarn format
if ! git diff --quiet --exit-code; then
echo "❌ Code formatting issues found. The following files need formatting:"
git diff --name-only
echo "Run 'yarn format' to fix these issues."
exit 1
fi
- name: Verify formatting check passed
run: echo "Code formatting check completed successfully!"
workspace-test:
if: false
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
*/node_modules
packages/*/node_modules
cache-version: v1
- name: Install Dependencies
uses: ./.github/actions/yarn-install
- name: Build workspace dependencies
run: yarn build
- name: Run workspace tests
run: yarn test
- name: Verify tests passed
run: echo "Workspace tests completed successfully!"
# version-consistency:
# runs-on: ubuntu-latest
# permissions:
# contents: read
# steps:
# - uses: actions/checkout@v6
# - name: Cache Yarn dependencies
# uses: ./.github/actions/cache-yarn
# with:
# path: |
# .yarn/cache
# node_modules
# */node_modules
# packages/*/node_modules
# cache-version: v1
# - name: Install Dependencies
# uses: ./.github/actions/yarn-install
# - name: Check package version consistency
# run: yarn check:versions
# - name: Verify version consistency
# run: echo "Package version consistency check passed!"