k8s execution tests #16
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: k8s execution tests | |
on: | |
workflow_dispatch: # 手動觸發工作流程 | |
jobs: | |
kfp-kubernetes-execution-tests: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Create KFP cluster | |
uses: ./.github/actions/kfp-cluster | |
- name: Grant execute permissions to scripts | |
run: | | |
chmod +x ./scripts/deploy/github/build-images.sh | |
chmod +x ./scripts/deploy/github/forward-port.sh | |
- name: Forward API port | |
run: ./scripts/deploy/github/forward-port.sh "kubeflow" "ml-pipeline" 8888 8888 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.9' | |
- name: apt-get update | |
run: sudo apt-get update | |
- name: Install protobuf-compiler | |
run: sudo apt-get install protobuf-compiler -y | |
- name: Install setuptools | |
run: | | |
pip3 install setuptools | |
pip3 freeze | |
- name: Install Wheel | |
run: pip3 install wheel==0.42.0 | |
- name: Install protobuf | |
run: pip3 install protobuf==4.25.3 | |
- name: Generate API proto files | |
working-directory: ./api | |
run: make clean python | |
- name: Install kfp-pipeline-spec from source | |
run: | | |
python3 -m pip install api/v2alpha1/python | |
- name: Generate kfp-kubernetes proto files from source | |
working-directory: ./kubernetes_platform | |
run: make clean python | |
- name: Install kfp-kubernetes from source | |
run: | | |
pip install -e ./kubernetes_platform/python[dev] | |
- name: Install requirements | |
run: pip install -r ./test/kfp-kubernetes-execution-tests/requirements.txt | |
- name: Run tests | |
run: | | |
export KFP_ENDPOINT="http://localhost:8888" | |
export TIMEOUT_SECONDS=2700 | |
pytest ./test/kfp-kubernetes-execution-tests/sdk_execution_tests.py --asyncio-task-timeout $TIMEOUT_SECONDS |