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@692973e3d937129bcbf40652eb9f2f61becf3332 # v3 - name: Node uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3 with: node-version-file: '.nvmrc' - name: Install pnpm run: | corepack enable corepack install - 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@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 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@692973e3d937129bcbf40652eb9f2f61becf3332 # v3 - name: Node uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3 with: node-version-file: '.nvmrc' - name: Install pnpm run: npm i pnpm@latest-8 -g - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 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@692973e3d937129bcbf40652eb9f2f61becf3332 # v3 - name: Use Node uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3 with: node-version-file: '.nvmrc' - name: Install pnpm run: npm i pnpm@latest-8 -g - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 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@692973e3d937129bcbf40652eb9f2f61becf3332 # v3 - name: Use Node ${{ matrix.node_version }} uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3 with: node-version: ${{ matrix.node_version }} - name: Install pnpm run: npm i pnpm@latest-8 -g - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 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@692973e3d937129bcbf40652eb9f2f61becf3332 # v3 - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3 with: node-version-file: '.nvmrc' - name: Install pnpm run: npm i pnpm@latest-8 -g - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 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*