CD - Post Release Tests #50
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
name: CD - Post Release Tests | |
on: | |
workflow_dispatch: | |
inputs: | |
syft_version: | |
description: "Syft version to test" | |
required: true | |
type: string | |
release_platform: | |
description: "Release Platform" | |
required: true | |
type: choice | |
options: | |
- "REAL_PYPI" | |
- "TEST_PYPI" | |
workflow_call: | |
inputs: | |
syft_version: | |
description: "Syft version to test" | |
required: true | |
type: string | |
release_platform: | |
description: "Release Platform" | |
required: true | |
type: string | |
default: "REAL_PYPI" | |
jobs: | |
syft-install-check: | |
strategy: | |
max-parallel: 99 | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest, macos-14] | |
python-version: ["3.12", "3.11", "3.10"] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: System Architecture | |
run: | | |
echo "System Architecture: $(uname -m)" | |
echo "System Version: $(uname -a)" | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Upgrade pip | |
run: | | |
python -m pip install --upgrade pip | |
- name: Get pip cache dir | |
id: pip-cache | |
shell: bash | |
run: | | |
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT | |
- name: Load github cache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.pip-cache.outputs.dir }} | |
key: ${{ runner.os }}-pip-py${{ matrix.python-version }}-${{ hashFiles('setup.cfg') }} | |
restore-keys: | | |
${{ runner.os }}-pip-py${{ matrix.python-version }}- | |
- name: Install Syft | |
shell: bash | |
run: | | |
if [[ ${{inputs.release_platform}} == "REAL_PYPI" ]]; then | |
pip install syft==${{inputs.syft_version}} | |
fi | |
if [[ ${{ inputs.release_platform }} == "TEST_PYPI" ]]; then | |
pip install --extra-index-url https://test.pypi.org/simple/ syft==${{inputs.syft_version}} | |
fi | |
- name: Check Syft version | |
run: | | |
python -c "import syft; print(syft.__version__)" | |
notebook-test-k8s-k3d: | |
if: github.event.inputs.release_platform == 'REAL_PYPI' | |
strategy: | |
max-parallel: 99 | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ["3.12"] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
# free 10GB of space | |
- name: Remove unnecessary files | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
sudo rm -rf /usr/share/dotnet | |
sudo rm -rf "$AGENT_TOOLSDIRECTORY" | |
docker image prune --all --force | |
docker builder prune --all --force | |
docker system prune --all --force | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install K3d | |
run: | | |
K3D_VERSION=v5.6.3 | |
wget -q -O - https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | TAG=$K3D_VERSION bash | |
- name: Install pip dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install uv==0.2.17 tox tox-uv==1.9.0 | |
uv --version | |
- name: Get uv cache dir | |
id: pip-cache | |
shell: bash | |
run: | | |
echo "dir=$(uv cache dir)" >> $GITHUB_OUTPUT | |
- name: Load github cache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.pip-cache.outputs.dir }} | |
key: ${{ runner.os }}-pip-py${{ matrix.python-version }}-${{ hashFiles('setup.cfg') }} | |
restore-keys: | | |
${{ runner.os }}-uv-py${{ matrix.python-version }}- | |
- name: Run K8s tests | |
env: | |
SYFT_VERSION: ${{ inputs.syft_version }} | |
run: | | |
tox -e syft.test.helm | |
# This job is used to test the syft unit tests on Test PyPi | |
syft-unit-tests: | |
strategy: | |
max-parallel: 99 | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
python-version: ["3.12", "3.11", "3.10"] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: System Architecture | |
run: | | |
echo "System Architecture: $(uname -m)" | |
echo "System Version: $(uname -a)" | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Upgrade pip | |
run: | | |
python -m pip install --upgrade pip | |
- name: Get pip cache dir | |
id: pip-cache | |
shell: bash | |
run: | | |
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT | |
- name: Load github cache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.pip-cache.outputs.dir }} | |
key: ${{ runner.os }}-pip-py${{ matrix.python-version }}-${{ hashFiles('setup.cfg') }} | |
restore-keys: | | |
${{ runner.os }}-pip-py${{ matrix.python-version }}- | |
- name: Install Syft | |
env: | |
SYFT_VERSION: ${{ inputs.syft_version }} | |
run: | | |
if [[ ${{ inputs.release_platform }} == "TEST_PYPI" ]]; then | |
pip install --extra-index-url https://test.pypi.org/simple/ syft[data_science,dev]==${{ inputs.syft_version }} | |
fi | |
if [[ ${{ inputs.release_platform }} == "REAL_PYPI" ]]; then | |
pip install syft[data_science,dev]==${{ inputs.syft_version }} | |
fi | |
- name: Install tox and uv | |
run: | | |
pip install uv==0.2.17 tox tox-uv==1.9.0 tox-current-env | |
- name: Run unit tests | |
run: | | |
tox -e syft.test.unit --current-env |