This repository has been archived by the owner on Sep 11, 2024. It is now read-only.
feat(app): add design system guidelines #94
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
workflow_dispatch: | |
pull_request: | |
branches: [main] | |
merge_group: | |
branches: [main] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }} | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
jobs: | |
lint_prettier: | |
name: Lint [prettier] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- run: corepack enable yarn | |
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 | |
with: | |
node-version-file: '.nvmrc' | |
cache: yarn | |
- run: yarn install --frozen-lockfile | |
- run: yarn prettier --check . | |
lint_eslint: | |
name: Lint [eslint] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- run: corepack enable yarn | |
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 | |
with: | |
node-version-file: '.nvmrc' | |
cache: yarn | |
- run: yarn install --frozen-lockfile | |
- run: yarn turbo run lint | |
export: | |
name: Export | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- run: corepack enable yarn | |
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 | |
with: | |
node-version-file: '.nvmrc' | |
cache: yarn | |
- run: yarn install --frozen-lockfile | |
- run: yarn turbo run export | |
build_version: | |
name: Build Version | |
runs-on: ubuntu-latest | |
outputs: | |
result: ${{ steps.calver.outputs.result }} | |
steps: | |
- name: CalVer | |
id: calver | |
run: | | |
export VERSION=$(date "+%Y.%m.%d") | |
echo ::set-output name=result::${VERSION} | |
eas_preview: | |
name: EAS Preview | |
environment: EAS Preview | |
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository | |
runs-on: ubuntu-latest | |
needs: [build_version] | |
permissions: | |
contents: read | |
pull-requests: write | |
steps: | |
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- run: corepack enable yarn | |
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 | |
with: | |
node-version-file: '.nvmrc' | |
cache: yarn | |
- uses: expo/expo-github-action@4479f0b3692e25169fa71a02c30d6586ec2f5601 # v8.0.0 | |
with: | |
eas-version: latest | |
token: ${{ secrets.EXPO_TOKEN }} | |
- run: yarn install --frozen-lockfile | |
- run: yarn run version ${{ needs.build_version.outputs.result }} | |
working-directory: ./app | |
- run: yarn turbo run build | |
working-directory: ./app | |
- uses: expo/expo-github-action/preview@4479f0b3692e25169fa71a02c30d6586ec2f5601 # v8.0.0 | |
with: | |
working-directory: ./app | |
command: eas update --branch pr-${{ github.event.number }} --message "Update with commit ${{ github.sha }}" | |
test_playwright: | |
name: Test [Playwright] | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
project: [chromium] | |
shardIndex: [1, 2] | |
shardTotal: [2] | |
steps: | |
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- run: corepack enable yarn | |
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 | |
with: | |
node-version-file: '.nvmrc' | |
cache: yarn | |
- run: yarn install --frozen-lockfile | |
- uses: actions/cache/restore@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1 | |
id: cache-restore | |
with: | |
path: ~/.cache/ms-playwright | |
key: playwright-${{ runner.os }} | |
- name: playwright install | |
working-directory: app | |
if: steps.cache-restore.outputs.cache-hit != 'true' | |
run: yarn playwright install --with-deps | |
- name: playwright test | |
working-directory: app | |
run: yarn playwright test --project=${{ matrix.project }} --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }} | |
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2 | |
if: always() | |
with: | |
name: app-playwright | |
path: app/playwright/ | |
retention-days: 7 | |
- uses: actions/cache/save@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1 | |
if: always() && steps.cache-restore.outputs.cache-hit != 'true' && matrix.shardIndex == 1 | |
with: | |
path: ~/.cache/ms-playwright | |
key: playwright-${{ runner.os }} | |
test_completed: | |
name: Test [completed] | |
runs-on: ubuntu-latest | |
if: always() | |
needs: | |
- test_playwright | |
steps: | |
- run: | | |
if ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'skipped') || contains(needs.*.result, 'cancelled') }} ; then | |
exit 1 | |
fi |