Skip to content

bumps version number to 0.3.6 (#1409) #710

bumps version number to 0.3.6 (#1409)

bumps version number to 0.3.6 (#1409) #710

Workflow file for this run

name: Run Notebooks
on:
workflow_dispatch:
push:
branches: [main]
paths:
- "src/golang/**"
- "src/python/**"
- "sdk/aqueduct/**"
pull_request:
paths:
- ".github/workflows/run-notebooks.yml"
- "examples/churn_prediction/Customer Churn Tutorial.ipynb"
- "examples/sentiment_analysis/Sentiment Model.ipynb"
- "examples/diabetes-classifier/Classifying Diabetes Risk.ipynb"
- "examples/house-price-prediction/House Price Prediction.ipynb"
- "examples/mpg-regressor/Predicting MPG.ipynb"
- "examples/tutorials/Parameters Tutorial.ipynb"
- "examples/tutorials/Quickstart Tutorial.ipynb"
- "integration_tests/notebook/imported_function.ipynb"
jobs:
run-notebooks:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v2
- name: Set filename for the server's output logs
run: echo "SERVER_LOGS_FILE=server_logs" >> $GITHUB_ENV
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: "3.8"
- name: Set up GOPATH variable
run: echo "GOPATH=$(echo $HOME)" >> $GITHUB_ENV
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.19.1
- name: Install aqueduct-ml
run: python3 -m pip install aqueduct-ml
- name: Start the server
run: (aqueduct start --verbose > $SERVER_LOGS_FILE 2>&1 &)
- name: Wait for server
timeout-minutes: 1
run: while ! echo exit | nc localhost 8080; do sleep 1; done
# Grabs the pid of the process bound to port 8080 and kills it.
- name: Kill the server
run: kill -9 $(lsof -nP -iTCP -sTCP:LISTEN | grep 8080 | awk '{print $2}')
# install_local.py requires ~/.aqueduct to exist.
- name: Update aqueduct with latest code
run: python3 scripts/install_local.py --gobinary --sdk --executor
- name: Start the server again
run: (aqueduct start --disable-usage-stats --verbose > $SERVER_LOGS_FILE 2>&1 &)
- name: Install Packages needed by the notebooks
run: python3 -m pip install scikit-learn transformers torch
- name: Wait for server again
timeout-minutes: 1
run: while ! echo exit | nc localhost 8080; do sleep 1; done
- name: Fetch the API key
run: echo "API_KEY=$(aqueduct apikey)" >> $GITHUB_ENV
- name: Run Quickstart Tutorial Notebook
working-directory: examples
timeout-minutes: 5
run: python3 run_notebook.py --path "tutorials/Quickstart Tutorial.ipynb"
- name: Run Parameter Tutorial Notebook
working-directory: examples
timeout-minutes: 10
run: python3 run_notebook.py --path "tutorials/Parameters Tutorial.ipynb"
- name: Run Churn Tutorial Notebook
working-directory: examples
timeout-minutes: 10
run: python3 run_notebook.py --path "churn_prediction/Customer Churn Prediction.ipynb"
- name: Run Sentiment Analysis Notebook
working-directory: examples
timeout-minutes: 10
run: python3 run_notebook.py --path "sentiment-analysis/Sentiment Model.ipynb"
- name: Run Classifying Diabetes Risk Notebook
working-directory: examples
timeout-minutes: 10
run: python3 run_notebook.py --path "diabetes-classifier/Classifying Diabetes Risk.ipynb"
- name: Run House Price Prediction Notebook
working-directory: examples
timeout-minutes: 10
run: python3 run_notebook.py --path "house-price-prediction/House Price Prediction.ipynb"
- name: Run MPG Regressor Notebook
working-directory: examples
timeout-minutes: 10
run: python3 run_notebook.py --path "mpg-regressor/Predicting MPG.ipynb"
- name: Run Wine Ratings Prediction Notebook
working-directory: examples
timeout-minutes: 10
run: python3 run_notebook.py --path "wine-ratings-prediction/Predict Missing Wine Ratings.ipynb"
- name: Run Imported Function Notebook
timeout-minutes: 10
run: python3 examples/run_notebook.py --path "integration_tests/notebook/imported_function.ipynb"
- name: Run Util File Dependency Notebook
timeout-minutes: 10
run: python3 examples/run_notebook.py --path "integration_tests/notebook/util_dependency.ipynb"
- uses: actions/upload-artifact@v3
if: always()
with:
name: Server Logs
path: server_logs
- name: Report to Slack on Failure
if: always()
uses: ravsamhq/notify-slack-action@v1
with:
status: ${{ job.status }}
notification_title: ""
message_format: "{emoji} *{workflow}* has {status_message}"
footer: "{run_url}"
notify_when: "failure,warnings"
mention_users: "U025MDH5KS6,U01JEUX1J2Y,U01J8Q1HUBC"
env:
SLACK_WEBHOOK_URL: ${{ secrets.ACTION_MONITORING_SLACK }}