Skip to content

feat: Add Functional Testing #4

feat: Add Functional Testing

feat: Add Functional Testing #4

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