Skip to content

main

main #1

Workflow file for this run

# Simple workflow for deploying static content to GitHub Pages

Check failure on line 1 in .github/workflows/static.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/static.yml

Invalid workflow file

(Line: 44, Col: 1): 'name' is already defined, (Line: 46, Col: 1): 'on' is already defined, (Line: 56, Col: 1): 'permissions' is already defined, (Line: 59, Col: 1): 'jobs' is already defined
name: Deploy static content to Pages
on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
# Upload entire repository
path: '.'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
name: webpack-cli
on:
push:
branches:
- main
- next
pull_request:
branches:
- main
- next
permissions:
contents: read
jobs:
lint:
name: Lint - ${{ matrix.os }} - Node v${{ matrix.node-version }}
runs-on: ${{ matrix.os }}
concurrency:
group: lint-${{ github.ref }}
cancel-in-progress: true
strategy:
matrix:
os: [ubuntu-latest]
node-version: [18.x]
webpack-version: [latest]
steps:
- uses: actions/checkout@v4
- name: Using Node v${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "yarn"
- name: Install dependencies
run: yarn --frozen-lockfile --ignore-engines
- name: Build
run: yarn build
- name: Lint
run: yarn lint
build:
name: Tests and Coverage - ${{ matrix.os }} - Node v${{ matrix.node-version }}, Webpack ${{ matrix.webpack-version }}, DevServer ${{ matrix.dev-server-version }} (${{ matrix.shard }})
runs-on: ${{ matrix.os }}
concurrency:
group: build-${{ github.ref }}
cancel-in-progress: true
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
node-version: [18.x, 20.x, 22.x, 24.x]
shard: ["1/4", "2/4", "3/4", "4/4"]
webpack-version: [latest]
dev-server-version: [latest]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Using Node v${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "yarn"
- uses: pnpm/action-setup@v4
with:
version: 9
- name: Install dependencies
run: yarn --frozen-lockfile --ignore-engines --ignore-scripts
- name: Prepare environment for tests
run: yarn build:ci
- name: Run tests and generate coverage
run: yarn test:coverage --ci --shard=${{ matrix.shard }}
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
smoketests:
name: Smoketests - ${{ matrix.os }} - Node v${{ matrix.node-version }}
runs-on: ${{ matrix.os }}
concurrency:
group: smoketests-${{ github.ref }}
cancel-in-progress: true
strategy:
matrix:
os: [ubuntu-latest]
node-version: [lts/*]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Using Node v${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "yarn"
- name: Install dependencies
run: yarn --frozen-lockfile --ignore-engines