CI windows #17
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 windows | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '5 0 * * SUN' | |
permissions: | |
contents: read | |
jobs: | |
prepare: | |
runs-on: ubuntu-latest | |
name: setup verdaccio | |
services: | |
verdaccio: | |
image: verdaccio/verdaccio:nightly-master | |
ports: | |
- 4873:4873 | |
env: | |
NODE_ENV: production | |
steps: | |
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3 | |
- name: Node | |
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3 | |
with: | |
node-version-file: '.nvmrc' | |
- name: Install pnpm | |
run: npm i pnpm@latest-8 -g | |
- name: set store | |
run: | | |
mkdir ~/.pnpm-store | |
pnpm config set store-dir ~/.pnpm-store | |
- name: set store | |
run: | | |
mkdir ~/.pnpm-store | |
pnpm config set store-dir ~/.pnpm-store | |
- name: Install | |
run: pnpm install --registry http://localhost:4873 | |
- name: Cache .pnpm-store | |
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3 | |
with: | |
path: ~/.pnpm-store | |
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }} | |
restore-keys: | | |
pnpm- | |
lint: | |
runs-on: windows-latest | |
name: Lint | |
needs: prepare | |
steps: | |
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3 | |
- name: Node | |
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3 | |
with: | |
node-version-file: '.nvmrc' | |
- name: Install pnpm | |
run: npm i pnpm@latest-8 -g | |
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3 | |
with: | |
path: ~/.pnpm-store | |
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }} | |
- name: set store | |
run: | | |
mkdir ~/.pnpm-store | |
pnpm config set store-dir ~/.pnpm-store | |
- name: Install | |
run: pnpm install --offline --reporter=silence --ignore-scripts | |
- name: Lint | |
run: pnpm lint | |
format: | |
runs-on: windows-latest | |
name: Format | |
needs: prepare | |
steps: | |
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3 | |
- name: Use Node | |
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3 | |
with: | |
node-version-file: '.nvmrc' | |
- name: Install pnpm | |
run: npm i pnpm@latest-8 -g | |
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3 | |
with: | |
path: ~/.pnpm-store | |
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }} | |
- name: set store | |
run: | | |
mkdir ~/.pnpm-store | |
pnpm config set store-dir ~/.pnpm-store | |
- name: Install | |
run: pnpm install --offline --reporter=silence --ignore-scripts | |
- name: Lint | |
run: pnpm format:check | |
build: | |
needs: [format, lint] | |
strategy: | |
fail-fast: true | |
matrix: | |
os: [windows-latest] | |
node_version: [18] | |
name: ${{ matrix.os }} / Node ${{ matrix.node_version }} | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3 | |
- name: Use Node ${{ matrix.node_version }} | |
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3 | |
with: | |
node-version: ${{ matrix.node_version }} | |
- name: Install pnpm | |
run: npm i pnpm@latest-8 -g | |
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3 | |
with: | |
path: ~/.pnpm-store | |
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }} | |
- name: set store | |
run: | | |
mkdir ~/.pnpm-store | |
pnpm config set store-dir ~/.pnpm-store | |
- name: Install | |
run: pnpm install --offline --reporter=silence --ignore-scripts --registry http://localhost:4873 | |
- name: build | |
run: pnpm build | |
- name: Test | |
run: pnpm test | |
ci-e2e-ui: | |
needs: [format, lint] | |
runs-on: windows-latest | |
name: UI Test E2E | |
steps: | |
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3 | |
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3 | |
with: | |
node-version-file: '.nvmrc' | |
- name: Install pnpm | |
run: npm i pnpm@latest-8 -g | |
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3 | |
with: | |
path: ~/.pnpm-store | |
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }} | |
- name: set store | |
run: | | |
mkdir ~/.pnpm-store | |
pnpm config set store-dir ~/.pnpm-store | |
- name: Install | |
run: pnpm install --offline --reporter=silence --registry http://localhost:4873 | |
- name: build | |
run: pnpm build | |
- name: Test UI | |
run: pnpm test:e2e:ui | |
# env: | |
# DEBUG: verdaccio:e2e* |