@@ -34,158 +34,161 @@ on:
34
34
35
35
jobs :
36
36
one-click-test :
37
- runs-on : ${{ inputs.deploy_method }}-${{ inputs.hardware }}
37
+ runs-on : ubuntu-latest # ${{ inputs.deploy_method }}-${{ inputs.hardware }}
38
38
continue-on-error : true
39
39
steps :
40
- - name : Clean up Working Directory
41
- if : ${{ inputs.deploy_method == 'docker' }}
42
- run : |
43
- sudo rm -rf ${{github.workspace}}/* || true
44
-
45
- echo "Cleaning up containers using ports..."
46
- cid=$(docker ps --format '{{.Names}} : {{.Ports}}' | grep -v ' : $' | grep -v 0.0.0.0:5000 | awk -F' : ' '{print $1}')
47
- if [[ ! -z "$cid" ]]; then docker stop $cid && docker rm $cid && sleep 1s; fi
48
- docker system prune -f
49
-
50
- echo "Cleaning up images ..."
51
- docker images --filter reference="*/*/*:latest" -q | xargs -r docker rmi && sleep 1s
52
- docker images --filter reference="*/*:ci" -q | xargs -r docker rmi && sleep 1s
53
- docker images --filter reference="*:5000/*/*" -q | xargs -r docker rmi && sleep 1s
54
- docker images --filter reference="opea/comps-base" -q | xargs -r docker rmi && sleep 1s
55
- docker images
56
-
57
- - name : Checkout out Repo
58
- if : ${{ inputs.deploy_method == 'docker' }}
59
- uses : actions/checkout@v4
60
- with :
61
- fetch-depth : 0
62
-
63
- - name : Clean up container before test
64
- if : ${{ inputs.deploy_method == 'docker' }}
65
- shell : bash
66
- run : |
67
- docker ps
68
- if [ "${{ inputs.example }}" = "FaqGen" ]; then
69
- export test_case=test_compose_faqgen_on_xeon.sh
70
- cd ${{ github.workspace }}/ChatQnA
71
- else
72
- cd ${{ github.workspace }}/${{ inputs.example }}
73
- fi
74
- export hardware=${{ inputs.hardware }}
75
- bash ${{ github.workspace }}/.github/workflows/scripts/docker_compose_clean_up.sh "containers"
76
- bash ${{ github.workspace }}/.github/workflows/scripts/docker_compose_clean_up.sh "ports"
77
- docker ps
78
-
79
- - name : Log in DockerHub
80
- if : ${{ inputs.deploy_method == 'docker' }}
81
-
82
- with :
83
- username : ${{ secrets.DOCKERHUB_USER }}
84
- password : ${{ secrets.DOCKERHUB_TOKEN }}
85
-
86
- - name : Clean Up Working Directory
87
- if : ${{ inputs.deploy_method == 'k8s' }}
88
- run : |
89
- sudo rm -rf ${{github.workspace}}/*
90
-
91
- - name : Checkout out Repo
92
- if : ${{ inputs.deploy_method == 'k8s' }}
93
- uses : actions/checkout@v4
94
- with :
95
- fetch-depth : 0
96
-
97
- - name : get-default-params-from-config
98
- id : get-default-params
99
- if : ${{ inputs.deploy_method == 'k8s' }}
100
- run : |
101
- cd ${{ github.workspace }}
102
- PARAMS_JSON=$(python3 .github/workflows/scripts/get-params.py ${{ inputs.example }})
103
- echo "LLM_model=$(echo "$PARAMS_JSON" | jq -r '.llm_model')" >> $GITHUB_ENV
104
- if [ "${{ inputs.example }}" = "ChatQnA" ]; then
105
- echo "LLM_model=$(echo "$PARAMS_JSON" | jq -r '.llm_model')" >> $GITHUB_ENV
106
- echo "Embedding_model=$(echo "$PARAMS_JSON" | jq -r '.embed_model')" >> $GITHUB_ENV
107
- echo "Reranking_model=$(echo "$PARAMS_JSON" | jq -r '.rerank_model')" >> $GITHUB_ENV
108
- echo "Mount_dir=$(echo "$PARAMS_JSON" | jq -r '.mount_dir')" >> $GITHUB_ENV
109
- elif [ "${{ inputs.example }}" = "VisualQnA" ]; then
110
- echo "LVM_model=$(echo "$PARAMS_JSON" | jq -r '.lvm_model')" >> $GITHUB_ENV
111
- elif [ "${{ inputs.example }}" = "AgentQnA" ]; then
112
- echo "LLM_model=$(echo "$PARAMS_JSON" | jq -r '.gaudi.llm_model')" >> $GITHUB_ENV
113
- fi
114
-
115
- - name : deploy and test
116
- shell : bash
117
- env :
118
- HF_TOKEN : ${{ secrets.HF_TOKEN }}
119
- GOOGLE_CSE_ID : ${{ secrets.GOOGLE_CSE_ID }}
120
- GOOGLE_API_KEY : ${{ secrets.GOOGLE_API_KEY }}
121
- PINECONE_KEY : ${{ secrets.PINECONE_KEY }}
122
- PINECONE_KEY_LANGCHAIN_TEST : ${{ secrets.PINECONE_KEY_LANGCHAIN_TEST }}
123
- SDK_BASE_URL : ${{ secrets.SDK_BASE_URL }}
124
- SERVING_TOKEN : ${{ secrets.SERVING_TOKEN }}
125
- OPENAI_API_KEY : ${{ secrets.OPENAI_API_KEY }}
126
- FINNHUB_API_KEY : ${{ secrets.FINNHUB_API_KEY }}
127
- FINANCIAL_DATASETS_API_KEY : ${{ secrets.FINANCIAL_DATASETS_API_KEY }}
128
- LLM_model : ${{ env.LLM_model }}
129
- Embedding_model : ${{ env.Embedding_model }}
130
- Reranking_model : ${{ env.Reranking_model }}
131
- Mount_dir : ${{ env.Mount_dir }}
132
- LVM_model : ${{ env.LVM_model }}
133
- run : |
134
- sudo apt update
135
- sudo apt install -y python3-pip
136
-
137
- cd ${{ github.workspace }}/one_click_deploy
138
- python3 -m pip install -r requirements.txt
139
-
140
- if [ "${{ inputs.deploy_method }}" = "k8s" ]; then
141
- export OPEA_K8S_VLLM_SKIP_WARMUP=TRUE
142
- fi
143
- export TEST_RETRY_ATTEMPTS=6
144
-
145
- INPUT_DATA=$(
146
- jq -r --arg type "${{ inputs.deploy_method }}" --arg id "${{ inputs.example }}" \
147
- '.[$type][$id].inputs.deploy[]' ${{ github.workspace }}/.github/workflows/one-click-inputs-nobuild.json | \
148
- sed "s|\$hardware|$hardware|g; \
149
- s|\$HF_TOKEN|$HF_TOKEN|g; \
150
- s|\$LLM_model|$LLM_model|g; \
151
- s|\$Embedding_model|$Embedding_model|g; \
152
- s|\$Reranking_model|$Reranking_model|g; \
153
- s|\$CodeTrans_model|$LLM_model|g; \
154
- s|\$DocSum_model|$LLM_model|g; \
155
- s|\$CodeGen_model|$LLM_model|g; \
156
- s|\$AudioQnA_model|$LLM_model|g; \
157
- s|\$VisualQnA_model|$LLM_model|g; \
158
- s|\$FaqGen_model|$LLM_model|g; \
159
- s|\$AgentQnA_model|$LLM_model|g; \
160
- s|\$Mount_dir|$Mount_dir|g"
161
- )
162
-
163
- echo "Generated input:"
164
- echo "$INPUT_DATA"
165
-
166
- python3 one_click_deploy.py << INPUTS
167
- $INPUT_DATA
168
- INPUTS
169
-
170
- - name : Clean up deployment
171
- run : |
172
- cd ${{ github.workspace }}/one_click_deploy
173
-
174
- INPUT_DATA=$(
175
- jq -r --arg type "${{ inputs.deploy_method }}" --arg id "${{ inputs.example }}" \
176
- '.[$type][$id].inputs.clear[]' ${{ github.workspace }}/.github/workflows/one-click-inputs.json | \
177
- sed "s/\$hardware/${{ inputs.hardware }}/g"
178
- )
179
- echo "Generated input:"
180
- echo "$INPUT_DATA"
181
-
182
- python3 one_click_deploy.py << INPUTS
183
- $INPUT_DATA
184
- INPUTS
185
-
186
- - name : Publish pipeline artifact
187
- if : ${{ !cancelled() }}
188
- uses : actions/upload-artifact@v4
189
- with :
190
- name : ${{ inputs.deploy_method }}
191
- path : ${{ github.workspace }}/${{ inputs.deploy_method }}-tests/test-results.log
40
+ - name : test
41
+ run :|
42
+ echo "Testing example : ${{ inputs.example }} with deploy method: ${{ inputs.deploy_method }} on hardware: ${{ inputs.hardware }}"
43
+ # - name: Clean up Working Directory
44
+ # if: ${{ inputs.deploy_method == 'docker' }}
45
+ # run: |
46
+ # sudo rm -rf ${{github.workspace}}/* || true
47
+
48
+ # echo "Cleaning up containers using ports..."
49
+ # cid=$(docker ps --format '{{.Names}} : {{.Ports}}' | grep -v ' : $' | grep -v 0.0.0.0:5000 | awk -F' : ' '{print $1}')
50
+ # if [[ ! -z "$cid" ]]; then docker stop $cid && docker rm $cid && sleep 1s; fi
51
+ # docker system prune -f
52
+
53
+ # echo "Cleaning up images ..."
54
+ # docker images --filter reference="*/*/*:latest" -q | xargs -r docker rmi && sleep 1s
55
+ # docker images --filter reference="*/*:ci" -q | xargs -r docker rmi && sleep 1s
56
+ # docker images --filter reference="*:5000/*/*" -q | xargs -r docker rmi && sleep 1s
57
+ # docker images --filter reference="opea/comps-base" -q | xargs -r docker rmi && sleep 1s
58
+ # docker images
59
+
60
+ # - name: Checkout out Repo
61
+ # if: ${{ inputs.deploy_method == 'docker' }}
62
+ # uses: actions/checkout@v4
63
+ # with:
64
+ # fetch-depth: 0
65
+
66
+ # - name: Clean up container before test
67
+ # if: ${{ inputs.deploy_method == 'docker' }}
68
+ # shell: bash
69
+ # run: |
70
+ # docker ps
71
+ # if [ "${{ inputs.example }}" = "FaqGen" ]; then
72
+ # export test_case=test_compose_faqgen_on_xeon.sh
73
+ # cd ${{ github.workspace }}/ChatQnA
74
+ # else
75
+ # cd ${{ github.workspace }}/${{ inputs.example }}
76
+ # fi
77
+ # export hardware=${{ inputs.hardware }}
78
+ # bash ${{ github.workspace }}/.github/workflows/scripts/docker_compose_clean_up.sh "containers"
79
+ # bash ${{ github.workspace }}/.github/workflows/scripts/docker_compose_clean_up.sh "ports"
80
+ # docker ps
81
+
82
+ # - name: Log in DockerHub
83
+ # if: ${{ inputs.deploy_method == 'docker' }}
84
+
85
+ # with:
86
+ # username: ${{ secrets.DOCKERHUB_USER }}
87
+ # password: ${{ secrets.DOCKERHUB_TOKEN }}
88
+
89
+ # - name: Clean Up Working Directory
90
+ # if: ${{ inputs.deploy_method == 'k8s' }}
91
+ # run: |
92
+ # sudo rm -rf ${{github.workspace}}/*
93
+
94
+ # - name: Checkout out Repo
95
+ # if: ${{ inputs.deploy_method == 'k8s' }}
96
+ # uses: actions/checkout@v4
97
+ # with:
98
+ # fetch-depth: 0
99
+
100
+ # - name: get-default-params-from-config
101
+ # id: get-default-params
102
+ # if: ${{ inputs.deploy_method == 'k8s' }}
103
+ # run: |
104
+ # cd ${{ github.workspace }}
105
+ # PARAMS_JSON=$(python3 .github/workflows/scripts/get-params.py ${{ inputs.example }})
106
+ # echo "LLM_model=$(echo "$PARAMS_JSON" | jq -r '.llm_model')" >> $GITHUB_ENV
107
+ # if [ "${{ inputs.example }}" = "ChatQnA" ]; then
108
+ # echo "LLM_model=$(echo "$PARAMS_JSON" | jq -r '.llm_model')" >> $GITHUB_ENV
109
+ # echo "Embedding_model=$(echo "$PARAMS_JSON" | jq -r '.embed_model')" >> $GITHUB_ENV
110
+ # echo "Reranking_model=$(echo "$PARAMS_JSON" | jq -r '.rerank_model')" >> $GITHUB_ENV
111
+ # echo "Mount_dir=$(echo "$PARAMS_JSON" | jq -r '.mount_dir')" >> $GITHUB_ENV
112
+ # elif [ "${{ inputs.example }}" = "VisualQnA" ]; then
113
+ # echo "LVM_model=$(echo "$PARAMS_JSON" | jq -r '.lvm_model')" >> $GITHUB_ENV
114
+ # elif [ "${{ inputs.example }}" = "AgentQnA" ]; then
115
+ # echo "LLM_model=$(echo "$PARAMS_JSON" | jq -r '.gaudi.llm_model')" >> $GITHUB_ENV
116
+ # fi
117
+
118
+ # - name: deploy and test
119
+ # shell: bash
120
+ # env:
121
+ # HF_TOKEN: ${{ secrets.HF_TOKEN }}
122
+ # GOOGLE_CSE_ID: ${{ secrets.GOOGLE_CSE_ID }}
123
+ # GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
124
+ # PINECONE_KEY: ${{ secrets.PINECONE_KEY }}
125
+ # PINECONE_KEY_LANGCHAIN_TEST: ${{ secrets.PINECONE_KEY_LANGCHAIN_TEST }}
126
+ # SDK_BASE_URL: ${{ secrets.SDK_BASE_URL }}
127
+ # SERVING_TOKEN: ${{ secrets.SERVING_TOKEN }}
128
+ # OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
129
+ # FINNHUB_API_KEY: ${{ secrets.FINNHUB_API_KEY }}
130
+ # FINANCIAL_DATASETS_API_KEY: ${{ secrets.FINANCIAL_DATASETS_API_KEY }}
131
+ # LLM_model: ${{ env.LLM_model }}
132
+ # Embedding_model: ${{ env.Embedding_model }}
133
+ # Reranking_model: ${{ env.Reranking_model }}
134
+ # Mount_dir: ${{ env.Mount_dir }}
135
+ # LVM_model: ${{ env.LVM_model }}
136
+ # run: |
137
+ # sudo apt update
138
+ # sudo apt install -y python3-pip
139
+
140
+ # cd ${{ github.workspace }}/one_click_deploy
141
+ # python3 -m pip install -r requirements.txt
142
+
143
+ # if [ "${{ inputs.deploy_method }}" = "k8s" ]; then
144
+ # export OPEA_K8S_VLLM_SKIP_WARMUP=TRUE
145
+ # fi
146
+ # export TEST_RETRY_ATTEMPTS=6
147
+
148
+ # INPUT_DATA=$(
149
+ # jq -r --arg type "${{ inputs.deploy_method }}" --arg id "${{ inputs.example }}" \
150
+ # '.[$type][$id].inputs.deploy[]' ${{ github.workspace }}/.github/workflows/one-click-inputs-nobuild.json | \
151
+ # sed "s|\$hardware|$hardware|g; \
152
+ # s|\$HF_TOKEN|$HF_TOKEN|g; \
153
+ # s|\$LLM_model|$LLM_model|g; \
154
+ # s|\$Embedding_model|$Embedding_model|g; \
155
+ # s|\$Reranking_model|$Reranking_model|g; \
156
+ # s|\$CodeTrans_model|$LLM_model|g; \
157
+ # s|\$DocSum_model|$LLM_model|g; \
158
+ # s|\$CodeGen_model|$LLM_model|g; \
159
+ # s|\$AudioQnA_model|$LLM_model|g; \
160
+ # s|\$VisualQnA_model|$LLM_model|g; \
161
+ # s|\$FaqGen_model|$LLM_model|g; \
162
+ # s|\$AgentQnA_model|$LLM_model|g; \
163
+ # s|\$Mount_dir|$Mount_dir|g"
164
+ # )
165
+
166
+ # echo "Generated input:"
167
+ # echo "$INPUT_DATA"
168
+
169
+ # python3 one_click_deploy.py << INPUTS
170
+ # $INPUT_DATA
171
+ # INPUTS
172
+
173
+ # - name: Clean up deployment
174
+ # run: |
175
+ # cd ${{ github.workspace }}/one_click_deploy
176
+
177
+ # INPUT_DATA=$(
178
+ # jq -r --arg type "${{ inputs.deploy_method }}" --arg id "${{ inputs.example }}" \
179
+ # '.[$type][$id].inputs.clear[]' ${{ github.workspace }}/.github/workflows/one-click-inputs.json | \
180
+ # sed "s/\$hardware/${{ inputs.hardware }}/g"
181
+ # )
182
+ # echo "Generated input:"
183
+ # echo "$INPUT_DATA"
184
+
185
+ # python3 one_click_deploy.py << INPUTS
186
+ # $INPUT_DATA
187
+ # INPUTS
188
+
189
+ # - name: Publish pipeline artifact
190
+ # if: ${{ !cancelled() }}
191
+ # uses: actions/upload-artifact@v4
192
+ # with:
193
+ # name: ${{ inputs.deploy_method }}
194
+ # path: ${{ github.workspace }}/${{ inputs.deploy_method }}-tests/test-results.log
0 commit comments