@@ -15,38 +15,55 @@ jobs:
1515
1616 steps :
1717 - name : Checkout code
18- uses : actions/checkout@v4
18+ uses : actions/checkout@v5
1919
2020 - name : Create .env file
2121 run : |
2222 echo "# Bot credentials" > .env
2323 echo "BOT_TOKEN=${{ secrets.BOT_TOKEN }}" >> .env
24- echo "BOT_ID=${{ secrets .BOT_ID }}" >> .env
24+ echo "BOT_ID=${{ vars .BOT_ID }}" >> .env
2525 echo -e "\n# Server id" >> .env
26- echo "SERVER_ID=${{ secrets .SERVER_ID }}" >> .env
26+ echo "SERVER_ID=${{ vars .SERVER_ID }}" >> .env
2727 echo -e "\n# List channels" >> .env
28- echo "CH_INTRO_ID=${{ secrets .CH_INTRO_ID }}" >> .env
29- echo "CH_LEAVE_ID=${{ secrets .CH_LEAVE_ID }}" >> .env
30- echo "CH_LOBBY_ID=${{ secrets .CH_LOBBY_ID }}" >> .env
31- echo "CH_LOG_ID=${{ secrets .CH_LOG_ID }}" >> .env
32- echo "CH_ROLE_ID=${{ secrets .CH_ROLE_ID }}" >> .env
33- echo "CH_RULES_ID=${{ secrets .CH_RULES_ID }}" >> .env
28+ echo "CH_INTRO_ID=${{ vars .CH_INTRO_ID }}" >> .env
29+ echo "CH_LEAVE_ID=${{ vars .CH_LEAVE_ID }}" >> .env
30+ echo "CH_LOBBY_ID=${{ vars .CH_LOBBY_ID }}" >> .env
31+ echo "CH_LOG_ID=${{ vars .CH_LOG_ID }}" >> .env
32+ echo "CH_ROLE_ID=${{ vars .CH_ROLE_ID }}" >> .env
33+ echo "CH_RULES_ID=${{ vars .CH_RULES_ID }}" >> .env
3434 echo -e "\n# List roles" >> .env
35- echo "ROLE_ADMIN_ID=${{ secrets.ROLE_ADMIN_ID }}" >> .env
36- echo "ROLE_MEMBER_ID=${{ secrets.ROLE_MEMBER_ID }}" >> .env
35+ echo "ROLE_ADMIN_ID=${{ vars.ROLE_ADMIN_ID }}" >> .env
36+ echo "ROLE_MEMBER_ID=${{ vars.ROLE_MEMBER_ID }}" >> .env
37+
38+ - name : Connect to Tailscale
39+ uses : tailscale/github-action@v4
40+ with :
41+ oauth-client-id : ${{ secrets.TS_OAUTH_CLIENT_ID }}
42+ oauth-secret : ${{ secrets.TS_OAUTH_SECRET }}
43+ tags : tag:ci
3744
3845 - name : Set up SSH agent for deployment
39- uses : webfactory/ssh-agent@v0.9 .0
46+ uses : webfactory/ssh-agent@v0.10 .0
4047 with :
4148 ssh-private-key : ${{ secrets.VPS_PRIVATE_KEY }}
4249
50+ - name : Ensure project directory exists on VPS
51+ run : |
52+ ssh -o StrictHostKeyChecking=no ${{ vars.VPS_USER }}@${{ vars.VPS_HOST }} << 'EOF'
53+ mkdir -p ~/apps/${{ env.APP_NAME }}
54+ cd ~/apps/${{ env.APP_NAME }}
55+ if [ ! -d .git ]; then
56+ git clone ${{ vars.REPO_URL }} .
57+ fi
58+ EOF
59+
4360 - name : Copy .env file to VPS
4461 run : |
45- scp -o StrictHostKeyChecking=no .env ${{ secrets .VPS_USER }}@${{ secrets .VPS_HOST }}:~/apps/${{ env.APP_NAME }}/
62+ scp -o StrictHostKeyChecking=no .env ${{ vars .VPS_USER }}@${{ vars .VPS_HOST }}:~/apps/${{ env.APP_NAME }}/
4663
4764 - name : Deploy to VPS
4865 run : |
49- ssh -o StrictHostKeyChecking=no ${{ secrets .VPS_USER }}@${{ secrets .VPS_HOST }} << 'EOF'
66+ ssh -o StrictHostKeyChecking=no ${{ vars .VPS_USER }}@${{ vars .VPS_HOST }} << 'EOF'
5067 # Navigate to project directory
5168 cd ~/apps/${{ env.APP_NAME }}
5269
0 commit comments