name: Deploy Vaultwarden to Fly.io
on:
  workflow_dispatch:
  pull_request:
    paths:
      - .github/workflows/deploy-vault.yaml
      - "flyio/vaultwarden/fly.toml"

jobs:
  build-deploy:
    if: ${{ github.ref_name == 'main' }}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          persist-credentials: false

      - name: setup flyctl
        uses: superfly/flyctl-actions/setup-flyctl@master

      - name: Publish
        run: flyctl deploy --config fly/vaultwarden/fly.toml
        env:
          FLY_ACCESS_TOKEN: ${{ secrets.FLY_ACCESS_TOKEN }}
          FLY_APP: ${{ secrets.FLY_APP_VAULTWARDEN }}

      - name: Push Build Status Notifications
        if: ${{ always() }}
        uses: desiderati/github-action-pushover@v1
        with:
          job-status: ${{ job.status }}
          pushover-api-token: ${{ secrets.PUSHOVER_API_TOKEN }}
          pushover-user-key: ${{ secrets.PUSHOVER_USER_KEY }}
