Skip to content

SN/I certificate over mTLS Proof-of-Possession #2037

SN/I certificate over mTLS Proof-of-Possession

SN/I certificate over mTLS Proof-of-Possession #2037

# Build verification for the msal Python package.
#
# This workflow runs on every PR (against any target branch) to give contributors
# fast feedback that the package still builds and that the distribution metadata
# passes `twine check`.
#
# Unit tests, E2E tests, benchmarks, SDL scans, and PyPI publishing are NOT run
# here. Those run in the IDDP/ADO pipelines:
# - azure-pipelines.yml (PRs + pushes: unit + E2E + benchmarks + SDL)
# - .Pipelines/pipeline-publish.yml (manual release to TestPyPI / PyPI)
name: Build
on:
pull_request:
# No `branches` filter — run on PRs against any target branch.
jobs:
build:
name: Build package (sdist + wheel)
permissions:
contents: read
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
python-version: '3.12'
cache: 'pip'
- name: Install build tooling
run: |
python -m pip install --upgrade pip
python -m pip install build twine
- name: Build sdist and wheel
run: python -m build --sdist --wheel --outdir dist/ .
- name: Verify built artifacts
# `twine check` catches broken long_description / metadata that would fail PyPI upload.
run: twine check dist/*
- name: Upload built artifacts
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: dist
path: dist/
retention-days: 7