mirror of
https://github.com/selfxyz/self.git
synced 2026-01-09 14:48:06 -05:00
120 lines
3.8 KiB
YAML
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
|