Skip to content

Storefront: Improve trackable. #8662

Storefront: Improve trackable.

Storefront: Improve trackable. #8662

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- master
- staging
- 'dev/*'
- 'fix/*'
paths-ignore:
- '**.md'
- '**.txt'
- 'LICENSE'
env:
CI: true
MONGODB_URI: ${{ secrets.MONGODB_URI }}
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
SHOPIFY_API_KEY: ${{ secrets.SHOPIFY_API_KEY }}
SHOPIFY_API_SECRET_KEY: ${{ secrets.SHOPIFY_API_SECRET_KEY }}
AUTH_SECRET: 'development-secret'
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_ORG: ${{ vars.SENTRY_ORG }}
SENTRY_PROJECT: ${{ vars.SENTRY_PROJECT }}
MONGODB_DATA_API_TOKEN: ${{ secrets.MONGODB_DATA_API_TOKEN }}
MONGODB_DATA_API_URI: ${{ secrets.MONGODB_DATA_API_URI }}
EDGE_CONFIG: ${{ secrets.EDGE_CONFIG }}
jobs:
build:
name: πŸ”¨ Build
needs: [lint, typecheck]
timeout-minutes: 25
runs-on: ubuntu-latest
steps:
- name: πŸ•ΆοΈ Checkout repository
uses: actions/checkout@v4
- name: πŸš€ Bootstrap
uses: ./.github/common/bootstrap
- name: πŸ”¨ Build All
run: pnpm run build
test:
name: πŸ§ͺ Test
needs: [lint, typecheck]
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- name: πŸ•ΆοΈ Checkout repository
uses: actions/checkout@v4
- name: πŸš€ Bootstrap
uses: ./.github/common/bootstrap
- name: πŸ”¨ Build Packages
run: pnpm run build:packages
- name: πŸ§ͺ Test
run: pnpm run test
- name: 🦺 Report Coverage to GitHub
if: ${{ !cancelled() }}
uses: davelosert/[email protected]
- name: 🦺 Codecov Coverage Reports
if: ${{ !cancelled() }}
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- name: 🦺 Codecov Test Results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
lint:
name: πŸ“‹ Lint
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- name: πŸ•ΆοΈ Checkout repository
uses: actions/checkout@v4
- name: πŸš€ Bootstrap
uses: ./.github/common/bootstrap
- name: πŸ”¨ Build Packages
run: pnpm run build:packages
- name: πŸ“‹ Lint
run: pnpm run lint
typecheck:
name: βœ… Typecheck
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- name: πŸ•ΆοΈ Checkout repository
uses: actions/checkout@v4
- name: πŸš€ Bootstrap
uses: ./.github/common/bootstrap
- name: πŸ”¨ Build Packages
run: pnpm run build:packages
- name: βœ… Typecheck
run: pnpm run typecheck
dispatch:
name: πŸ—£οΈ Dispatch
needs: [build, test]
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- name: πŸ•ΆοΈ Checkout repository
uses: actions/checkout@v4
# Deliberately empty as this is just used
# to trigger other workflows when this one
# completes successfully. Otherwise we can't
# make sure that every test, lint and typecheck
# job has validated and completed successfully.