diff --git a/.github/workflows/templates.yml b/.github/workflows/templates.yml index c6164972a9..15f1a5c7e9 100644 --- a/.github/workflows/templates.yml +++ b/.github/workflows/templates.yml @@ -9,14 +9,21 @@ jobs: test: runs-on: ubuntu-latest strategy: + # https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs matrix: node: [18, 20] - template: - [ - 'npx create-next-app --example "https://github.com/sumup-oss/circuit-ui/tree/main/packages/cna-template/template" test-app', - 'npx create-remix@latest ./test-app --template https://github.com/sumup-oss/circuit-ui/tree/main/packages/remix-template --install --no-git-init', - 'npx create-astro@latest ./test-app --template sumup-oss/circuit-ui/packages/astro-template --install --no-git --typescript=strictest', - ] + template: [astro, nextjs, remix] + include: + - template: astro + bootstrap: 'npx create-astro@latest ./test-app --template sumup-oss/circuit-ui/packages/astro-template --install --no-git --typescript=strictest' + verify: 'npm run lint && npm run astro check' + - template: nextjs + bootstrap: 'npx create-next-app --example "https://github.com/sumup-oss/circuit-ui/tree/main/packages/cna-template/template" test-app' + verify: 'npm run lint && npm run test' + - template: remix + bootstrap: 'npx create-remix@latest ./test-app --template https://github.com/sumup-oss/circuit-ui/tree/main/packages/remix-template --install --no-git-init' + verify: 'npm run lint && npm run typecheck' + steps: - name: Checkout repository uses: actions/checkout@v3 @@ -28,12 +35,16 @@ jobs: cache: 'npm' - name: Bootstrap app - run: ${{ matrix.template }} + run: ${{ matrix.bootstrap }} - name: Build app working-directory: ./test-app run: npm run build + - name: Static analysis + working-directory: ./test-app + run: ${{ matrix.verify }} + - name: Install test dependencies run: npm install puppeteer