test continuous releases #838
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: π§ͺ Test | |
on: | |
push: | |
branches: | |
- main | |
- dev | |
- release-* | |
tags-ignore: | |
- v* | |
paths-ignore: | |
- "examples/**" | |
- "**/README.md" | |
pull_request: | |
paths-ignore: | |
- "examples/**" | |
- "**/README.md" | |
env: | |
CLOUDFLARE_API_TOKEN: ${{ secrets.CF_ACCOUNT_TOKEN }} | |
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }} | |
jobs: | |
integration: | |
name: "π ${{ matrix.adapter }} (os: ${{ matrix.os }}, node: ${{ matrix.node-version }})" | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: [18] | |
# adapter: | |
# - solid-start-node | |
# - solid-start-cloudflare-workers | |
# - solid-start-cloudflare-pages | |
# - solid-start-deno | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
include: | |
- os: ubuntu-latest | |
playwright_binary_path: ~/.cache/ms-playwright | |
- os: macos-latest | |
playwright_binary_path: ~/Library/Caches/ms-playwright | |
- os: windows-latest | |
playwright_binary_path: '~\\AppData\\Local\\ms-playwright' | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: pnpm/action-setup@v4 | |
with: | |
version: 8 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: "pnpm" | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: π΅οΈββοΈ Get current Playwright Test version | |
id: playwright-version | |
shell: bash | |
run: | | |
# Use Node.js to extract Playwright Test version from package.json | |
playwright_version=$(node -e "const pkg = require('./test/package.json'); console.log(pkg.dependencies['@playwright/test']);") | |
# Set the version as an output | |
echo "::set-output name=version::${playwright_version}" | |
- name: π€ Cache Playwright binaries | |
uses: actions/cache@v3 | |
id: playwright-cache | |
with: | |
path: ${{ matrix.playwright_binary_path }} | |
key: ${{ runner.os }}-${{ runner.arch }}-cache-playwright-${{ steps.playwright-version.outputs.version }} | |
- name: π¨οΈ Playwright info | |
shell: bash | |
run: | | |
echo "OS: ${{ matrix.os }}" | |
echo "Playwright version: ${{ steps.playwright-version.outputs.version }}" | |
echo "Playwright install dir: ${{ matrix.playwright_binary_path }}" | |
echo "Cache key: ${{ runner.os }}-${{ runner.arch }}-cache-playwright-${{ steps.playwright-version.outputs.version }}" | |
echo "Cache hit: ${{ steps.playwright-cache.outputs.cache-hit == 'true' }}" | |
- name: π₯ Install Playwright | |
if: steps.playwright-cache.outputs.cache-hit != 'true' | |
run: pnpm run install:playwright | |
- uses: oven-sh/setup-bun@v1 | |
if: runner.os == 'ubuntu-latest' || runner.os == 'macos-latest' | |
with: | |
bun-version: latest | |
- name: π Build things that need to be built | |
if: runner.os == 'ubuntu-latest' || runner.os == 'macos-latest' | |
env: | |
START_ADAPTER: ${{ matrix.adapter }} | |
run: npm run build | |
- name: π Run Integration Tests | |
env: | |
START_ADAPTER: ${{ matrix.adapter }} | |
run: npm run test | |
# - name: Archive test results | |
# uses: actions/upload-artifact@v3 | |
# with: | |
# name: test-results | |
# path: | | |
# test/.fixtures | |
# !test/.fixtures/**/node_modules |