FederatedRuntime Workflow for CI Pipeline - 301 Watermarking notebook run #47
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
#--------------------------------------------------------------------------- | |
# Workflow to run 301_MNIST_Watermarking notebook | |
# Authors - Noopur, Payal Chaurasiya | |
#--------------------------------------------------------------------------- | |
name: Federated Runtime 301 MNIST Watermarking | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened, ready_for_review] | |
workflow_dispatch: | |
permissions: | |
contents: read | |
jobs: | |
test_federated_runtime_301_watermarking_notebook: | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 20 | |
steps: | |
- name: Checkout OpenFL repository | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 2 # needed for detecting changes | |
submodules: "true" | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Set up Python | |
uses: actions/setup-python@v3 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies # Without this step, fx command will not work | |
id: install_dependencies | |
run: | | |
python -m pip install --upgrade pip ipython ipykernel | |
pip install . | |
pip install -r test-requirements.txt | |
- name: Run Federated Runtime 301 MNIST Watermarking via pytest | |
id: run_tests | |
run: | | |
python -m pytest -s tests/end_to_end/test_suites/wf_federated_runtime_tests.py -k test_federated_runtime_301_watermarking | |
echo "Federated Runtime 301 MNIST Watermarking test run completed" | |
- name: Print test summary | |
id: print_test_summary | |
if: ${{ always() }} | |
run: | | |
export PYTHONPATH="$PYTHONPATH:." | |
python tests/end_to_end/utils/summary_helper.py --func_name "print_federated_runtime_score" | |
echo "Test summary printed" | |
- name: Tar files | |
if: ${{ always() }} # collect artifacts regardless of failures | |
run: | | |
tar -cvf notebook_301.tar --exclude="__pycache__" $HOME/results --ignore-failed-read | |
echo "TAR file created" | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
if: ${{ always() }} # collect artifacts regardless of failures | |
with: | |
name: federated_runtime_301_watermarking_${{ github.run_id }} | |
path: notebook_301.tar |