add data processing signature #39
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Following tests are using Azure services to ensure the quality of the project. | |
name: End to end tests | |
on: [pull_request] | |
permissions: | |
id-token: write | |
contents: read | |
jobs: | |
azure-test: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 10 | |
environment: azure | |
steps: | |
- name: 'Az CLI login' | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | |
# Nodejs is used to install Azurite. | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Install Azureit to emulate Azure Storage Account locally. | |
run: | | |
npm install -g azurite | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install uv | |
uses: astral-sh/setup-uv@v3 | |
with: | |
enable-cache: true | |
cache-dependency-glob: "uv.lock" | |
- name: Set up Python ${{ matrix.python-version }} | |
run: uv python install ${{ matrix.python-version }} | |
- name: Install the project | |
run: uv sync --all-extras --dev --python ${{ matrix.python-version }} | |
- name: Run tests without dependencies | |
run: uv run pytest tests/units | |
- name: Run end-to-end tests interracting with Azure | |
run: uv run --python ${{ matrix.python-version }} pytest -m "azure" tests/end-to-end | |
env: | |
AZURE_STORAGE_CONNECTION_STRING: ${{ secrets.AZURE_STORAGE_CONNECTION_STRING }} | |
ENCRYPTION_KEY: "Sixteen byte key" | |
AZURE_STORAGE_ACCESS_KEY: ${{ secrets.AZURE_STORAGE_ACCESS_KEY }} | |
- name: Run end-to-end tests supporting Azurite | |
run: | | |
# Start Azureit. | |
azurite --silent --location c:\azurite --debug c:\azurite\debug.log & | |
# Run tests | |
uv run --python ${{ matrix.python-version }} pytest -m "not azure" tests/end-to-end | |
env: | |
AZURE_STORAGE_CONNECTION_STRING: "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;" | |
ENCRYPTION_KEY: "Sixteen byte key" |