Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
fdccf08
Fix publish action to use the old ways of publishing packages
mostafa Oct 9, 2024
2694316
Remove environment and permission
mostafa Oct 9, 2024
bcbea8b
Use poetry to build and publish the package
mostafa Oct 9, 2024
2f8f918
Install poetry-dynamic-versioning plugin
mostafa Oct 9, 2024
3781931
Skip existing uploaded packages (from other workflows)
mostafa Oct 9, 2024
cba317c
Extract user identity hook (#344)
mostafa Oct 12, 2024
df32f5f
[feat] Implement a setting to disable the exception handler. (#345)
henryh9n Oct 23, 2024
cee33f0
feat: Allow custom assertion URIs (#348)
henryh9n Nov 7, 2024
bd1513a
Run certain steps only once on deploy to prevent errors
mostafa Nov 7, 2024
d2ff3a0
feat: Separate the Build and Deploy job (#349)
henryh9n Nov 8, 2024
5b19d9c
feat: Trigger to get custom frontend URLs (#350)
henryh9n Nov 8, 2024
0543cda
Clarify on the return object type of `TRIGGER.GET_METADATA_AUTO_CONF_…
noppanut15 Dec 27, 2024
a9e503c
Update deps (#356)
mostafa Dec 27, 2024
801bdb2
Add support for ForceAuthn SAML request attribute (#357)
MohammedAlmeshal Dec 31, 2024
906ac67
When USE_JWT is set, log users in to the django admin console as well…
HybridAU Feb 26, 2025
34684e5
Update deps (#363)
mostafa Apr 5, 2025
04e6a9c
Fix deployment workflows (#364)
mostafa Apr 5, 2025
40e6c88
Run cyclonedx_py package with python (instead of running command dire…
mostafa Apr 5, 2025
345ab42
Use uv to build and publish the package
mostafa Apr 5, 2025
e0bc037
Revert "Use uv to build and publish the package"
mostafa Apr 5, 2025
634ec81
Fix package name
mostafa Apr 5, 2025
7744738
Fix readme
mostafa Apr 5, 2025
48e7e1a
fix docs for NAME_ID_FORMAT (#372)
rittneje Jul 26, 2025
b30a236
Update Django versions to check compatibility (#374)
mostafa Oct 1, 2025
4a9aa1a
Handle case where the frontend url already contains query parameters …
PythonCoderAS Oct 2, 2025
eb525b1
merge: sync upstream/main into abandonrule fork
cmayfield Jul 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 79 additions & 32 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,66 +8,113 @@ on:
- v*
pull_request:

permissions: {}

jobs:
test:
name: Test and build django-saml2-auth
name: Test django-saml2-auth
runs-on: ubuntu-latest
strategy:
matrix:
versions:
- { "djangoVersion": "4.2.16", "pythonVersion": "3.10" }
- { "djangoVersion": "4.2.16", "pythonVersion": "3.11" }
- { "djangoVersion": "4.2.16", "pythonVersion": "3.12" }
- { "djangoVersion": "5.0.9", "pythonVersion": "3.10" }
- { "djangoVersion": "5.0.9", "pythonVersion": "3.11" }
- { "djangoVersion": "5.0.9", "pythonVersion": "3.12" }
poetry-version: ["1.8.3"]
- { "djangoVersion": "4.2.24", "pythonVersion": "3.10" }
- { "djangoVersion": "4.2.24", "pythonVersion": "3.11" }
- { "djangoVersion": "4.2.24", "pythonVersion": "3.12" }
- { "djangoVersion": "5.1.12", "pythonVersion": "3.10" }
- { "djangoVersion": "5.1.12", "pythonVersion": "3.11" }
- { "djangoVersion": "5.1.12", "pythonVersion": "3.12" }
- { "djangoVersion": "5.1.12", "pythonVersion": "3.13" }
- { "djangoVersion": "5.2.6", "pythonVersion": "3.10" }
- { "djangoVersion": "5.2.6", "pythonVersion": "3.11" }
- { "djangoVersion": "5.2.6", "pythonVersion": "3.12" }
- { "djangoVersion": "5.2.6", "pythonVersion": "3.13" }
permissions:
id-token: write
contents: read
steps:
- name: Checkout 🛎️
uses: actions/checkout@v4
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up Python 🐍
uses: actions/setup-python@v5
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: ${{ matrix.versions.pythonVersion }}
- name: Install Poetry
uses: abatilo/actions-poetry@v3.0.0
- name: Install uv
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
with:
poetry-version: ${{ matrix.poetry-version }}
enable-cache: false
- name: Install xmlsec1 📦
run: sudo apt-get install xmlsec1
- name: Install dependencies 📦
run: |
python -m pip install poetry
poetry install --with dev
- name: Install Django ${{ matrix.versions.djangoVersion }} 📦
run: pip install Django==${{ matrix.versions.djangoVersion }}
uv sync
uv add Django==${{ matrix.versions.djangoVersion }}
- name: Check types, syntax and duckstrings 🦆
run: |
poetry run mypy --explicit-package-bases .
poetry run ruff check .
poetry run interrogate --ignore-init-module --quiet --fail-under=95 .
uv run python -m mypy --explicit-package-bases .
uv run python -m ruff check .
- name: Test Django ${{ matrix.versions.djangoVersion }} with coverage 🧪
run: poetry run coverage run --source=django_saml2_auth -m pytest . && poetry run coverage lcov -o coverage.lcov
run: |
uv run coverage run --source=django_saml2_auth -m pytest . && uv run coverage lcov -o coverage.lcov
- name: Submit coverage report to Coveralls 📈
if: ${{ success() }}
uses: coverallsapp/github-action@v2
uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2.3.6
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: ./coverage.lcov
- name: Build the binary and source packages 🏗️
run: poetry build
flag-name: run-${{ join(matrix.versions.*, '-') }}
parallel: true
finish:
needs: test
if: ${{ always() }}
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2.3.6
with:
parallel-finished: true
build:
name: Build and Push django-saml2-auth to PyPI
runs-on: ubuntu-latest
if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags') }}
needs: test
env:
python-version: "3.10"
permissions:
contents: write
id-token: write
steps:
- name: Checkout 🛎️
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up Python 🐍
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: ${{ env.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
with:
enable-cache: false
- name: Install xmlsec1 📦
run: sudo apt-get install xmlsec1
- name: Install dependencies 📦
run: |
uv sync
uv pip install build cyclonedx-bom twine
- name: Generate CycloneDX SBOM artifacts 📃
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
run: |
poetry run cyclonedx-py poetry --all-extras --of JSON -o django-saml2-auth-${{ github.ref_name }}.cyclonedx.json
- name: Publish package to PyPI 🎉
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@release/v1
uv run python -m cyclonedx_py env --pyproject pyproject.toml --of JSON -o django-saml2-auth-${GITHUB_REF_NAME}.cyclonedx.json
- name: Build package 🏗️
run: |
uv run python -m build
- name: Publish to PyPI 📦
run: |
uv run python -m twine upload --username __token__ --password ${{ secrets.PYPI_API_TOKEN }} dist/*
- name: Create release and add artifacts 🚀
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@6cbd405e2c4e67a21c47fa9e383d020e4e28b836 # v2.3.3
with:
files: |
dist/*.tar.gz
Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,17 @@ on:
schedule:
- cron: "30 1 * * *"

permissions: {}
jobs:
stale:
runs-on: ubuntu-latest
permissions:
actions: write
contents: read
issues: write
pull-requests: write
steps:
- uses: actions/stale@v8
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
with:
stale-issue-message: "This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days."
stale-pr-message: "This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days."
Expand Down
3 changes: 3 additions & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,6 @@ an issue.
- [Greg Wong](https://github.com/gregorywong)
- [Michael V. Battista](https://github.com/mvbattista)
- [William Abbott](https://github.com/wrabit)
- [Henry Harutyunyan](https://github.com/henryh9n) (Revolut)
- [Noppanut Ploywong](https://github.com/noppanut15)
- [Mohammed Almeshal](https://github.com/MohammedAlmeshal)
Loading
Loading