This repository has been archived by the owner on Apr 4, 2024. It is now read-only.
Bump the pip group across 3 directories with 5 updates #4
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: Examples | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
env: | |
FLWR_TELEMETRY_ENABLED: 0 | |
jobs: | |
test_quickstart_pytorch: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.7.15 | |
- name: Install | |
run: | | |
python -m pip install -U pip==22.3.1 | |
python -m pip install -U setuptools==65.6.3 | |
python -m pip install poetry==1.3.2 | |
poetry config virtualenvs.create false | |
- name: Install dependencies | |
run: | | |
cd examples/quickstart_pytorch | |
python -m poetry install | |
- name: Cache Datasets | |
uses: actions/cache@v2 | |
with: | |
path: "./examples/quickstart_pytorch/dataset" | |
key: pytorch-datasets | |
- name: Download Datasets | |
run: | | |
cd examples/quickstart_pytorch | |
python -c "from torchvision.datasets import CIFAR10; CIFAR10(\"./dataset\", download=True)" | |
- name: Test | |
run: | | |
cd examples/quickstart_pytorch | |
python server.py & | |
sleep 3 | |
python client.py 1 & | |
sleep 3 | |
if [[ $(ps aux | grep "[p]ython client.py 1" | awk '{ print $2 }') ]]; | |
then echo "Client process 1 started correctly"; | |
else echo "Client process 1 crashed" && exit 1; | |
fi | |
python client.py 2 & | |
sleep 3 | |
if [[ $(ps aux | grep "[p]ython client.py 2" | awk '{ print $2 }') ]]; | |
then echo "Client process 2 started correctly"; | |
else echo "Client process 2 crashed" && exit 1; | |
fi | |
if [[ $(ps aux | grep "[p]ython server.py" | awk '{ print $2 }') ]]; | |
then echo "Server process started correctly"; | |
else echo "Server process crashed" && exit 1; | |
fi | |
killall python | |
test_quickstart_tensorflow: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.7.15 | |
- name: Install | |
run: | | |
python -m pip install -U pip==22.3.1 | |
python -m pip install -U setuptools==65.6.3 | |
python -m pip install poetry==1.3.2 | |
poetry config virtualenvs.create false | |
- name: Install dependencies | |
run: | | |
cd examples/quickstart_tensorflow | |
python -m poetry install | |
- name: Cache Datasets | |
uses: actions/cache@v2 | |
with: | |
path: "~/.keras" | |
key: keras-datasets | |
- name: Download Datasets | |
run: | | |
python -c "import tensorflow as tf; tf.keras.datasets.cifar10.load_data()" | |
- name: Test | |
run: | | |
cd examples/quickstart_tensorflow | |
python server.py & | |
sleep 3 | |
python client.py 1 & | |
sleep 3 | |
if [[ $(ps aux | grep "[p]ython client.py 1" | awk '{ print $2 }') ]]; | |
then echo "Client process 1 started correctly"; | |
else echo "Client process 1 crashed" && exit 1; | |
fi | |
python client.py 2 & | |
sleep 3 | |
if [[ $(ps aux | grep "[p]ython client.py 2" | awk '{ print $2 }') ]]; | |
then echo "Client process 2 started correctly"; | |
else echo "Client process 2 crashed" && exit 1; | |
fi | |
if [[ $(ps aux | grep "[p]ython server.py" | awk '{ print $2 }') ]]; | |
then echo "Server process started correctly"; | |
else echo "Server process crashed" && exit 1; | |
fi | |
killall python | |
test_pytorch_from_centralized_to_federated: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.7.15 | |
- name: Install | |
run: | | |
python -m pip install -U pip==22.3.1 | |
python -m pip install -U setuptools==65.6.3 | |
python -m pip install poetry==1.3.2 | |
poetry config virtualenvs.create false | |
- name: Install dependencies | |
run: | | |
cd examples/pytorch_from_centralized_to_federated | |
python -m poetry install | |
- name: Cache Datasets | |
uses: actions/cache@v2 | |
with: | |
path: "./examples/pytorch_from_centralized_to_federated/dataset" | |
key: pytorch-datasets | |
- name: Download Datasets | |
run: | | |
cd examples/pytorch_from_centralized_to_federated | |
python -c "from torchvision.datasets import CIFAR10; CIFAR10(\"./dataset\", download=True)" | |
- name: Import flwr | |
run: | | |
python3 -c "import flwr" | |
- name: Test | |
run: | | |
cd examples/pytorch_from_centralized_to_federated | |
python3 server.py & | |
sleep 3 | |
if [[ $(ps aux | grep "python server.py" | awk '{ print $2 }') ]]; | |
then echo "Server process started correctly"; | |
else echo "Server process crashed" && exit 1; | |
fi | |
python3 client.py 1 & | |
sleep 3 | |
if [[ $(ps aux | grep "python client.py 1" | awk '{ print $2 }') ]]; | |
then echo "Client process 1 started correctly"; | |
else echo "Client process 1 crashed" && exit 1; | |
fi | |
python3 client.py 2 & | |
sleep 3 | |
if [[ $(ps aux | grep "python client.py 2" | awk '{ print $2 }') ]]; | |
then echo "Client process 2 started correctly"; | |
else echo "Client process 2 crashed" && exit 1; | |
fi |