name: Deploy run-name: Deploy on: workflow_dispatch: jobs: deploy: runs-on: ubuntu-latest steps: - name: ๐Ÿ“‚ Checkout repository uses: actions/checkout@v4 - name: ๐Ÿงผ Clean ref name run: | ORIGINAL_REF_NAME="${{ gitea.ref_name }}" CLEAN_REF_NAME=${ORIGINAL_REF_NAME//\//-} echo "Clean ref name: $CLEAN_REF_NAME" echo "CLEAN_REF_NAME=$CLEAN_REF_NAME" >> $GITEA_ENV - name: โœ๏ธ Rename local docker-compose file run: | mv docker-compose.yml "docker-compose-${{ env.CLEAN_REF_NAME }}.yml" - name: ๐Ÿšš Copy docker-compose file to remote server uses: appleboy/scp-action@v0.1.7 with: host: ${{ secrets.SSH_HOST }} username: ${{ secrets.SSH_USERNAME }} password: ${{ secrets.SSH_PASSWORD }} port: 22 source: "docker-compose-${{ env.CLEAN_REF_NAME }}.yml" target: ${{ secrets.DEPLOY_DIRECTORY }} strip_components: 0 tar_tmp_path: /tmp - name: ๐Ÿ” Create secrets uses: appleboy/ssh-action@v1.0.3 env: DEPLOY_DIRECTORY: ${{ secrets.DEPLOY_DIRECTORY }} BESZEL_AGENT_KEY: ${{ secrets.BESZEL_AGENT_KEY }} BESZEL_AGENT_TOKEN: ${{ secrets.BESZEL_AGENT_TOKEN }} GITEA_RUNNER_REGISTRATION_TOKEN: ${{ secrets._GITEA_RUNNER_REGISTRATION_TOKEN }} VAULTWARDEN_ADMIN_TOKEN: ${{ secrets.VAULTWARDEN_ADMIN_TOKEN }} with: host: ${{ secrets.SSH_HOST }} username: ${{ secrets.SSH_USERNAME }} password: ${{ secrets.SSH_PASSWORD }} port: 22 envs: DEPLOY_DIRECTORY,BESZEL_AGENT_KEY,BESZEL_AGENT_TOKEN,GITEA_RUNNER_REGISTRATION_TOKEN,VAULTWARDEN_ADMIN_TOKEN script: | set -e # Stop on error cd "$DEPLOY_DIRECTORY" mkdir -p secrets echo "$BESZEL_AGENT_KEY" > secrets/beszel_agent_key.txt echo "$BESZEL_AGENT_TOKEN" > secrets/beszel_agent_token.txt echo "$GITEA_RUNNER_REGISTRATION_TOKEN" > secrets/gitea_runner_registration_token.txt echo "$VAULTWARDEN_ADMIN_TOKEN" > secrets/vaultwarden_admin_token.txt