Skip to content

Update CI workflow to latest node versions #262

@rajasegar

Description

@rajasegar

Since the generated project uses old node versions like 10 and 12, the CI fails too often.
This is my updated CI file which has consistent success rate.

name: CI

on:
  push:
    branches:
      - master
      - main
      - 'v*' # older version branches
    tags:
      - '*'
  pull_request: {}
  schedule:
  - cron:  '0 6 * * 0' # weekly, on sundays

jobs:
  lint:
    name: Linting
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-node@v3
      with:
        node-version: 16
    - name: install dependencies
      run: yarn install --frozen-lockfile
    - name: linting
      run: yarn lint

  test:
    name: Tests
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node: ['14', '16', '18']

    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-node@v3
      with:
        node-version: ${{ matrix.node }}
    - name: install dependencies
      run: yarn install --frozen-lockfile
    - name: test
      run: yarn test

  floating-test:
    name: Floating dependencies
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-node@v3
      with:
        node-version: 16
    - name: install dependencies
      run: yarn install --no-lockfile
    - name: test
      run: yarn test

Changes required:

  • Use latest actions for check-out and setup-node (v3)
  • Drop node versions 10 and 12 and use 14, 16 and 18
  • Running the jobs with node version 16 as suggested by Github

Sample workflow file:
https://github.com/rajasegar/react-router-v6-codemods/blob/main/.github/workflows/ci.yml

Sample runs (before and after making the changes):
https://github.com/rajasegar/react-router-v6-codemods/actions

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions