name: Build - Yarn permissions: contents: read on: [push, pull_request] jobs: build: name: Node ${{ matrix.node_version }} on ${{ matrix.os }} strategy: matrix: include: # EOL: April 2024 - os: ubuntu-latest node_version: 16.x - os: macOS-latest node_version: 18.x - os: windows-latest node_version: 18.x # EOL: April 2025 - os: ubuntu-latest node_version: 18.x # EOL: April 2026 - os: ubuntu-latest node_version: 20.x runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@master - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: ${{ matrix.node_version }} - name: Install run: yarn --frozen-lockfile --non-interactive - name: Build run: yarn build env: NODE_ENV: production