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 [ Docker - Hugging Face ] runs-on: ubuntu-latest needs: unit_testing env: HF_TOKEN: ${{ secrets.HF_TOKEN }} SPACE_NAME: tebakaja_proxy_space-0 HF_USERNAME: qywok ENDPOINT: qywok-tebakaja-proxy-space-0.hf.space 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 "alfariqyraihan@gmail.com" git config --local user.name "qywok" - name: Pull changes from remote run: | git pull https://$HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/$HF_USERNAME/$SPACE_NAME main || \ (git merge --strategy-option theirs) - name: Change Endpoint run: | sed -i "s/192.168.137.1:7860/$ENDPOINT/g" docs/docs.go sed -i "s/192.168.137.1:7860/$ENDPOINT/g" docs/swagger.json sed -i "s/192.168.137.1:7860/$ENDPOINT/g" docs/swagger.yaml - name: Add and commit changes run: | git add -A git diff-index --quiet HEAD || git commit -m "$SPACE_NAME" - name: Push to Hugging Face run: | git push https://$HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/$HF_USERNAME/$SPACE_NAME main --force # TebakAja Proxy-1 tebakaja_proxy_space-1: name: Proxy-1 [ Docker - Hugging Face ] runs-on: ubuntu-latest needs: unit_testing env: HF_TOKEN: ${{ secrets.HF_TOKEN }} SPACE_NAME: tebakaja_proxy_space-1 HF_USERNAME: qywok ENDPOINT: qywok-tebakaja-proxy-space-1.hf.space 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 "alfariqyraihan@gmail.com" git config --local user.name "qywok" - name: Pull changes from remote run: | git pull https://$HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/$HF_USERNAME/$SPACE_NAME main || \ (git merge --strategy-option theirs) - name: Change Endpoint run: | sed -i "s/192.168.137.1:7860/$ENDPOINT/g" docs/docs.go sed -i "s/192.168.137.1:7860/$ENDPOINT/g" docs/swagger.json sed -i "s/192.168.137.1:7860/$ENDPOINT/g" docs/swagger.yaml - name: Add and commit changes run: | git add -A git diff-index --quiet HEAD || git commit -m "$SPACE_NAME" - name: Push to Hugging Face run: | git push https://$HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/$HF_USERNAME/$SPACE_NAME main --force # TebakAja Proxy-2 tebakaja_proxy_space-2: name: Proxy-2 [ Docker - Hugging Face ] runs-on: ubuntu-latest needs: unit_testing env: HF_TOKEN: ${{ secrets.HF_TOKEN }} SPACE_NAME: tebakaja_proxy_space-2 HF_USERNAME: qywok ENDPOINT: qywok-tebakaja-proxy-space-2.hf.space 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 "alfariqyraihan@gmail.com" git config --local user.name "qywok" - name: Pull changes from remote run: | git pull https://$HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/$HF_USERNAME/$SPACE_NAME main || \ (git merge --strategy-option theirs) - name: Change Endpoint run: | sed -i "s/192.168.137.1:7860/$ENDPOINT/g" docs/docs.go sed -i "s/192.168.137.1:7860/$ENDPOINT/g" docs/swagger.json sed -i "s/192.168.137.1:7860/$ENDPOINT/g" docs/swagger.yaml - name: Add and commit changes run: | git add -A git diff-index --quiet HEAD || git commit -m "$SPACE_NAME" - name: Push to Hugging Face run: | git push https://$HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/$HF_USERNAME/$SPACE_NAME main --force # TebakAja Proxy-3 tebakaja_proxy_space-3: name: Proxy-3 [ Docker - Hugging Face ] runs-on: ubuntu-latest needs: unit_testing env: HF_TOKEN: ${{ secrets.HF_TOKEN }} SPACE_NAME: tebakaja_proxy_space-3 HF_USERNAME: qywok ENDPOINT: qywok-tebakaja-proxy-space-3.hf.space 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 "alfariqyraihan@gmail.com" git config --local user.name "qywok" - name: Pull changes from remote run: | git pull https://$HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/$HF_USERNAME/$SPACE_NAME main || \ (git merge --strategy-option theirs) - name: Change Endpoint run: | sed -i "s/192.168.137.1:7860/$ENDPOINT/g" docs/docs.go sed -i "s/192.168.137.1:7860/$ENDPOINT/g" docs/swagger.json sed -i "s/192.168.137.1:7860/$ENDPOINT/g" docs/swagger.yaml - name: Add and commit changes run: | git add -A git diff-index --quiet HEAD || git commit -m "$SPACE_NAME" - name: Push to Hugging Face run: | git push https://$HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/$HF_USERNAME/$SPACE_NAME main --force # TebakAja Proxy-4 tebakaja_proxy_space-4: name: Proxy-4 [ Docker - Hugging Face ] runs-on: ubuntu-latest needs: unit_testing env: HF_TOKEN: ${{ secrets.HF_TOKEN }} SPACE_NAME: tebakaja_proxy_space-4 HF_USERNAME: qywok ENDPOINT: qywok-tebakaja-proxy-space-4.hf.space 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 "alfariqyraihan@gmail.com" git config --local user.name "qywok" - name: Pull changes from remote run: | git pull https://$HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/$HF_USERNAME/$SPACE_NAME main || \ (git merge --strategy-option theirs) - name: Change Endpoint run: | sed -i "s/192.168.137.1:7860/$ENDPOINT/g" docs/docs.go sed -i "s/192.168.137.1:7860/$ENDPOINT/g" docs/swagger.json sed -i "s/192.168.137.1:7860/$ENDPOINT/g" docs/swagger.yaml - name: Add and commit changes run: | git add -A git diff-index --quiet HEAD || git commit -m "$SPACE_NAME" - name: Push to Hugging Face run: | git push https://$HF_USERNAME:$HF_TOKEN@huggingface.co/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 - tebakaja_proxy_space-3 - tebakaja_proxy_space-4 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