add sqlalchemy support and mongodb support #78
Workflow file for this run
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: Test on k8s | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
paths-ignore: | |
- "**.md" | |
env: | |
CI_PATH: '/mnt/nfs_share/GitHub/${{ github.repository }}/${GITHUB_RUN_NUMBER}' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
Clone: | |
runs-on: tps_k8s | |
if: | | |
!contains(github.event.head_commit.message, '[skip ci]') | |
&& !contains(github.event.pull_request.title, '[skip ci]') | |
steps: | |
- name: Check for required label | |
if: github.event_name == 'pull_request' | |
run: | | |
echo "Checking for 'lint_pass' label..." | |
TIMEOUT=360 | |
INTERVAL=10 | |
ELAPSED_TIME=0 | |
while [ $ELAPSED_TIME -lt $TIMEOUT ]; do | |
echo $ELAPSED_TIME | |
PR_LABELS=$(curl -s "https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.number }}/labels" | \ | |
jq -r '.[].name') | |
if echo "$PR_LABELS" | grep -q 'lint_pass'; then | |
echo "'lint_pass' label found, proceeding with CI process." | |
break | |
fi | |
echo "Label not found, waiting $INTERVAL seconds..." | |
sleep $INTERVAL | |
ELAPSED_TIME=$((ELAPSED_TIME + INTERVAL)) | |
done | |
if [ $ELAPSED_TIME -ge $TIMEOUT ]; then | |
echo "The 'lint_pass' label was not added within $TIMEOUT seconds. Skipping CI process." | |
exit 1 | |
fi | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Create custom directory | |
run: | | |
set -ex | |
echo ${{ env.CI_PATH }} | |
mkdir -p ${{ env.CI_PATH }} | |
- name: Clean custom directory | |
run: | | |
set -ex | |
if [ -d "${{ env.CI_PATH }}" ]; then | |
rm -rf ${{ env.CI_PATH }}/* | |
fi | |
- name: Move code to custom directory | |
run: | | |
set -ex | |
mv $GITHUB_WORKSPACE/* ${{ env.CI_PATH }}/ | |
k8s_tests: | |
runs-on: tps_k8s | |
needs: [Clone] | |
steps: | |
- name: k8s_test | |
shell: bash | |
run: | | |
cd ${{ env.CI_PATH }} | |
pip install -r tests/requirements.txt --user | |
export PYTHONPATH=$PWD:$PYTHONPATH | |
export LAZYLLM_DEFAULT_LAUNCHER="k8s" | |
export LAZYLLM_DATA_PATH="/mnt/lustre/share_data/lazyllm/data" | |
export LAZYLLM_K8S_ENV_NAME="lazyllm" | |
export LAZYLLM_K8S_CONFIG_PATH="/mnt/nfs_share/k8s_config.yaml" | |
export LAZYLLM_HOME="${{ env.CI_PATH }}/${{ github.run_id }}-${{ github.job }}" | |
mkdir -p $LAZYLLM_HOME | |
source /mnt/nfs_share/env.sh | |
python -m pytest --lf --last-failed-no-failures=all --durations=0 --reruns=2 -v tests/k8s_tests |