Skip to content

chore: update epicshop #11

chore: update epicshop

chore: update epicshop #11

Workflow file for this run

name: deploy
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- 'main'
pull_request: {}
jobs:
setup:
name: 🔧 Setup
timeout-minutes: 10
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- name: ⎔ Setup node
uses: actions/setup-node@v4
with:
node-version: 24
- name: ▶️ Add repo
run: |
npx --yes epicshop@latest add ${{ github.event.repository.name }} ./workshop
env:
# Kept getting npm ECOMPROMISED errors on windows. This fixed it.
npm_config_cache: ${{ runner.temp }}/npm-cache
- name: ʦ TypeScript
run: npm run typecheck
working-directory: ./workshop
- name: ⬣ ESLint
run: npm run lint
working-directory: ./workshop
tests:
name: 🎭 Test
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: ⎔ Setup node
uses: actions/setup-node@v4
with:
node-version: 24
- name: 📦 Install dependencies
run: npm ci
- name: 🎭 Install Playwright Browsers
run: npx playwright install --with-deps chromium
working-directory: ./epicshop
- name: 🎭 Run Playwright tests
run: npx playwright test
working-directory: ./epicshop
- name: 📤 Upload Playwright Report
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: playwright-report
path: epicshop/playwright-report/
retention-days: 30
deploy:
name: 🚀 Deploy
timeout-minutes: 10
runs-on: ubuntu-latest
# only deploy main branch on pushes on non-forks
if:
${{ github.ref == 'refs/heads/main' && github.event_name == 'push' &&
github.repository_owner == 'epicweb-dev' }}
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: 🎈 Setup Fly
uses: superfly/flyctl-actions/[email protected]
- name: 🚀 Deploy
run:
flyctl deploy --remote-only --build-arg
EPICSHOP_GITHUB_REPO=https://github.com/${{ github.repository }}
--build-arg EPICSHOP_COMMIT_SHA=${{ github.sha }}
working-directory: ./epicshop
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}