on: workflow_dispatch: inputs: app: description: 'App to deploy' required: true type: choice options: [gitea, runner] jobs: deploy: runs-on: ubuntu-latest env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} GITEA_APP_NAME: ${{ vars.GITEA_APP_NAME }} RUNNER_APP_NAME: ${{ vars.RUNNER_APP_NAME }} GITEA_RUNNER_REGISTRATION_TOKEN: ${{ secrets.GITEA_RUNNER_REGISTRATION_TOKEN }} steps: - uses: actions/checkout@v4 - uses: superfly/flyctl-actions/setup-flyctl@master - if: github.event.inputs.app == 'gitea' run: flyctl apps create "$GITEA_APP_NAME" --org personal || true; flyctl volumes create gitea_data --size 1 --region lax -a "$GITEA_APP_NAME" || true; flyctl secrets set GITEA__server__DOMAIN=$GITEA_APP_NAME.fly.dev GITEA__server__ROOT_URL=https://$GITEA_APP_NAME.fly.dev -a "$GITEA_APP_NAME"; flyctl deploy --remote-only -a "$GITEA_APP_NAME" -c fly.toml - if: github.event.inputs.app == 'runner' run: flyctl apps create "$RUNNER_APP_NAME" --org personal || true; flyctl volumes create runner_data --size 1 --region lax -a "$RUNNER_APP_NAME" || true; flyctl secrets set GITEA_INSTANCE_URL=https://$GITEA_APP_NAME.fly.dev "GITEA_RUNNER_REGISTRATION_TOKEN=$GITEA_RUNNER_REGISTRATION_TOKEN" -a "$RUNNER_APP_NAME"; flyctl deploy --remote-only -a "$RUNNER_APP_NAME" -c runner/fly.toml