Skip to content

auto dependabot: bump lerna from 9.0.7 to 10.0.0 #3694

auto dependabot: bump lerna from 9.0.7 to 10.0.0

auto dependabot: bump lerna from 9.0.7 to 10.0.0 #3694

name: Build and test all the Kiota packages
on:
workflow_dispatch:
push:
branches: [ main ]
pull_request:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.x, 22.x, 24.x]
steps:
- uses: actions/checkout@v7
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v7
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
- run: npm run build
- run: npm run lint:eslint:loud
- run: npm run prettier:check
- name: Archive dist folders # archive dist folders to verify if they are transpiled correctly and available for publishing
uses: actions/upload-artifact@v7
with:
name: dist folders ${{ matrix.node-version }}
path: |
packages/abstractions/dist
packages/serialization/form/dist
packages/serialization/json/dist
packages/serialization/multipart/dist
packages/serialization/text/dist
packages/http/fetch/dist
packages/authentication/azure/dist
- run: npm run build:integrated
- run: npm run test
code-coverage:
runs-on: ubuntu-latest
strategy:
matrix:
coverage:
- name: "Abstractions"
path: "./packages/abstractions/coverage"
- name: "Authentication Azure"
path: "./packages/authentication/azure/coverage"
- name: "Authentication Spfx"
path: "./packages/authentication/spfx/coverage"
- name: "Http Fetch"
path: "./packages/http/fetch/coverage"
- name: "Serialization Form"
path: "./packages/serialization/form/coverage"
- name: "Serialization JSON"
path: "./packages/serialization/json/coverage"
- name: "Serialization Text"
path: "./packages/serialization/text/coverage"
- name: "Serialization Multipart"
path: "./packages/serialization/multipart/coverage"
- name: "Bundle"
path: "./packages/bundle/coverage"
steps:
- uses: actions/checkout@v7
- name: Use Node.js 24.x
uses: actions/setup-node@v7
with:
node-version: 24.x
- run: npm ci
- run: npm run build
- run: npm run test:coverage
- name: Code Coverage Report ${{ matrix.coverage.name }}
uses: irongut/CodeCoverageSummary@v1.3.0
with:
filename: ${{ matrix.coverage.path }}/cobertura-coverage.xml
format: markdown
hide_branch_rate: false
output: both
badge: true
- name: Archive coverage files
uses: actions/upload-artifact@v7
with:
name: Coverage files for ${{ matrix.coverage.name }}
path: ${{ matrix.coverage.path }}
# The check-typescript-version-matrix returns success if all matrix jobs in build are successful; otherwise, it returns a failure.
# Use this as a PR status check for GitHub Policy Service instead of individual matrix entry checks.
check-typescript-version-matrix:
runs-on: ubuntu-latest
needs: [build,code-coverage]
if: always()
steps:
- name: All build matrix options are successful
if: ${{ !(contains(needs.*.result, 'failure')) }}
run: exit 0
- name: One or more build matrix options failed
if: ${{ contains(needs.*.result, 'failure') }}
run: exit 1