Skip to content

CD - Post Release Tests #4

CD - Post Release Tests

CD - Post Release Tests #4

name: CD - Post Release Tests
on:
workflow_call:
workflow_dispatch:
inputs:
syft_version:
description: "Syft version to test"
required: true
type: string
jobs:
notebook-test-hagrid:
strategy:
max-parallel: 99
matrix:
os: [ubuntu-latest]
python-version: ["3.11"]
runs-on: ${{ matrix.os }}
steps:
- 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 --user pip
- name: Get pip cache dir
id: pip-cache
shell: bash
run: |
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
- name: pip 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
run: |
pip install syft==${{ github.event.inputs.syft_version }}
- name: Hagrid Version
run: |
hagrid version
- name: Launch Domain
run: |
hagrid launch test-domain-1 to docker:8081 --tag=${{ github.event.inputs.syft_version }}
- name: Install pytest and nbmake
run: |
pip install pytest nbmake
# Ideally we should run it in a tox test, but for now we are just running it in the main environment
# as we have three different types of tests for notebooks
# tox -e stack.test.notebook
# tox -e syft.test.notebook
# tox -e stack.test.integration.k8s
- name: Run tests
env:
ORCHESTRA_DEPLOYMENT_TYPE: "container_stack"
run: |
python -c "pytest --nbmake -p no:randomly -vvvv -k 'not 11-container-images-k8s.ipynb' --nbmake-timeout=1000;"
# syft-install-check:
# strategy:
# max-parallel: 99
# matrix:
# os: [ubuntu-latest, macos-latest, windows-latest]
# # Re-enable macos-14 when it's available when we remove python 3.9 from syft
# # os: [ubuntu-latest, macos-latest, windows-latest, macos-14]
# python-version: ["3.11", "3.10", "3.9"]
# 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 --user pip
# - name: Get pip cache dir
# id: pip-cache
# shell: bash
# run: |
# echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
# - name: pip 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
# run: |
# pip install syft==${{ github.event.inputs.syft_version }}
# - name: Check Syft version
# run: |
# python -c "import syft; print(syft.__version__)"