2
0
mirror of https://github.com/tenrok/axios.git synced 2026-05-24 14:04:14 +03:00
Files
axios/.github/workflows/ci.yml
T

72 lines
1.9 KiB
YAML

name: 'CI'
on:
push:
branches:
- '*'
- '*/*'
- '**'
- '!sponsors'
pull_request:
branches:
- '*'
- '*/*'
- '**'
- '!sponsors'
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x, 14.x, 16.x, 18.x, 20.x, 22.x, 24.x]
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
persist-credentials: true
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v46
- name: List all changed files
run: |
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
echo "$file was changed"
done
- name: Check changes
id: changed-ignored
uses: tj-actions/changed-files@v46
with:
files: |
**.md
sandbox/**
examples/**
.github/**
templates/**
bin/**
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: npm
if: steps.changed-ignored.outputs.only_modified == 'false'
- run: npm ci
if: steps.changed-ignored.outputs.only_modified == 'false'
- run: npm run build
if: steps.changed-ignored.outputs.only_modified == 'false'
- name: Run Server tests
run: npm run test:node
if: steps.changed-ignored.outputs.only_modified == 'false'
# We run browser tests only on one version of the node, since client tests do not depend on the server environment.
- name: Run browser tests
run: npm run test:browser
if: steps.changed-ignored.outputs.only_modified == 'false' && matrix.node-version == '22.x'
- name: Run package tests
run: npm run test:package
if: steps.changed-ignored.outputs.only_modified == 'false'