Files
self/.github/workflows/common-ci.yml
Javier Cortejoso 8c96f6fd5c Merge pull request #1523 from selfxyz/jcortejoso/no-path-filter (#1528)
SELF-1684: Ensure checks are run with pull requests to staging/main
2025-12-25 01:05:09 +01:00

120 lines
3.8 KiB
YAML

name: Common CI
on:
pull_request:
jobs:
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
common/node_modules
cache-version: v1
- name: Install Dependencies
uses: ./.github/actions/yarn-install
- name: Build dependencies
run: yarn workspace @selfxyz/mobile-app run build:deps
- name: Cache build artifacts
uses: actions/cache/save@v4
with:
path: |
common/dist
packages/mobile-sdk-alpha/dist
key: build-deps-${{ runner.os }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }}
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
common/node_modules
cache-version: v1
- name: Install Dependencies
uses: ./.github/actions/yarn-install
- name: Run linter
run: yarn workspace @selfxyz/common lint
type-check:
runs-on: ubuntu-latest
needs: build
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
common/node_modules
cache-version: v1
- name: Install Dependencies
uses: ./.github/actions/yarn-install
- name: Restore build artifacts
id: restore-build-deps
uses: actions/cache/restore@v4
with:
path: |
common/dist
packages/mobile-sdk-alpha/dist
key: build-deps-${{ runner.os }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }}
fail-on-cache-miss: false
- name: Build @selfxyz/common (fallback on cache miss)
if: steps.restore-build-deps.outputs.cache-hit != 'true'
run: yarn workspace @selfxyz/common build
- name: Build @selfxyz/mobile-sdk-alpha
run: yarn workspace @selfxyz/mobile-sdk-alpha build
- name: Build @selfxyz/qrcode
run: yarn workspace @selfxyz/qrcode build:deps
- name: Yarn types
run: yarn types
test-common:
runs-on: ubuntu-latest
needs: build
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
common/node_modules
cache-version: v1
- name: Install Dependencies
uses: ./.github/actions/yarn-install
- name: Restore build artifacts
id: restore-build-deps
uses: actions/cache/restore@v4
with:
path: |
common/dist
packages/mobile-sdk-alpha/dist
key: build-deps-${{ runner.os }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }}
fail-on-cache-miss: false
- name: Build @selfxyz/common (fallback on cache miss)
if: steps.restore-build-deps.outputs.cache-hit != 'true'
run: yarn workspace @selfxyz/common build
- name: Build @selfxyz/mobile-sdk-alpha
run: yarn workspace @selfxyz/mobile-sdk-alpha build
- name: Run @selfxyz/common tests
run: yarn workspace @selfxyz/common test