feat: Add Functional Testing #4
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: Proxy Deployment | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- '*' | |
jobs: | |
# Unit Testing | |
unit_testing: | |
name: Unit Testing | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set global directory | |
run: git config --global --add safe.directory /github/workspace | |
- uses: actions/checkout@v3 | |
with: | |
persist-credentials: false | |
fetch-depth: 1 | |
- name: unit testing | |
run: go test -v ./tests -coverprofile=coverage.out | |
# TebakAja Proxy-0 | |
tebakaja_proxy_space-0: | |
name: Proxy-0 Deployment (Hugging Face) | |
runs-on: ubuntu-latest | |
needs: unit_testing | |
env: | |
HF_TOKEN: ${{ secrets.HF_TOKEN }} | |
SPACE_NAME: tebakaja_proxy_space-0 | |
HF_USERNAME: qywok | |
steps: | |
- name: Set global directory | |
run: git config --global --add safe.directory /github/workspace | |
- uses: actions/checkout@v3 | |
with: | |
persist-credentials: false | |
fetch-depth: 1000 | |
- name: Check git status | |
run: git status | |
- name: Configure git | |
run: | | |
git config --local user.email "[email protected]" | |
git config --local user.name "qywok" | |
- name: Pull changes from remote | |
run: | | |
git pull https://$HF_USERNAME:[email protected]/spaces/$HF_USERNAME/$SPACE_NAME main || \ | |
(git merge --strategy-option theirs) | |
- name: Add and commit changes | |
run: | | |
git add -A | |
git diff-index --quiet HEAD || git commit -m "tebakaja_proxy_space-0" | |
- name: Push to Hugging Face | |
run: | | |
git push https://$HF_USERNAME:[email protected]/spaces/$HF_USERNAME/$SPACE_NAME main --force | |
# TebakAja Proxy-1 | |
tebakaja_proxy_space-1: | |
name: Proxy-1 Deployment (Hugging Face) | |
runs-on: ubuntu-latest | |
needs: unit_testing | |
env: | |
HF_TOKEN: ${{ secrets.HF_TOKEN }} | |
SPACE_NAME: tebakaja_proxy_space-1 | |
HF_USERNAME: qywok | |
steps: | |
- name: Set global directory | |
run: git config --global --add safe.directory /github/workspace | |
- uses: actions/checkout@v3 | |
with: | |
persist-credentials: false | |
fetch-depth: 1000 | |
- name: Check git status | |
run: git status | |
- name: Configure git | |
run: | | |
git config --local user.email "[email protected]" | |
git config --local user.name "qywok" | |
- name: Pull changes from remote | |
run: | | |
git pull https://$HF_USERNAME:[email protected]/spaces/$HF_USERNAME/$SPACE_NAME main || \ | |
(git merge --strategy-option theirs) | |
- name: Add and commit changes | |
run: | | |
git add -A | |
git diff-index --quiet HEAD || git commit -m "tebakaja_proxy_space-1" | |
- name: Push to Hugging Face | |
run: | | |
git push https://$HF_USERNAME:[email protected]/spaces/$HF_USERNAME/$SPACE_NAME main --force | |
# TebakAja Proxy-2 | |
tebakaja_proxy_space-2: | |
name: Proxy-2 Deployment (Hugging Face) | |
runs-on: ubuntu-latest | |
needs: unit_testing | |
env: | |
HF_TOKEN: ${{ secrets.HF_TOKEN }} | |
SPACE_NAME: tebakaja_proxy_space-2 | |
HF_USERNAME: qywok | |
steps: | |
- name: Set global directory | |
run: git config --global --add safe.directory /github/workspace | |
- uses: actions/checkout@v3 | |
with: | |
persist-credentials: false | |
fetch-depth: 1000 | |
- name: Check git status | |
run: git status | |
- name: Configure git | |
run: | | |
git config --local user.email "[email protected]" | |
git config --local user.name "qywok" | |
- name: Pull changes from remote | |
run: | | |
git pull https://$HF_USERNAME:[email protected]/spaces/$HF_USERNAME/$SPACE_NAME main || \ | |
(git merge --strategy-option theirs) | |
- name: Add and commit changes | |
run: | | |
git add -A | |
git diff-index --quiet HEAD || git commit -m "tebakaja_proxy_space-2" | |
- name: Push to Hugging Face | |
run: | | |
git push https://$HF_USERNAME:[email protected]/spaces/$HF_USERNAME/$SPACE_NAME main --force | |
# Functional Testing | |
functional_testing: | |
name: Functional Testing | |
runs-on: ubuntu-latest | |
environment: Production | |
needs: | |
- tebakaja_proxy_space-0 | |
- tebakaja_proxy_space-1 | |
- tebakaja_proxy_space-2 | |
steps: | |
- name: Set global directory | |
run: git config --global --add safe.directory /github/workspace | |
- uses: actions/checkout@v3 | |
with: | |
persist-credentials: false | |
fetch-depth: 1 | |
- name: Testing Proxy Endpoints | |
run: | | |
sleep 20 | |
chmod +x endpoints_test.sh && ./endpoints_test.sh |