Skip to content

FEAT: Deployment status (#25) #7

FEAT: Deployment status (#25)

FEAT: Deployment status (#25) #7

Workflow file for this run

name: πŸš€ Deploy to Fly
on:
workflow_dispatch:
push:
branches:
- main
jobs:
deploy:
name: Deploy app
runs-on: ubuntu-latest
concurrency: deploy-group
steps:
- name: Checkout πŸ›ŽοΈ
uses: actions/checkout@v4
- name: Setup Fly 🧰
uses: superfly/flyctl-actions/setup-flyctl@master
- name: Install GitHub CLI πŸ™
uses: actions/setup-gh@v3
- name: Create GitHub Deployment 🚒
id: create_deployment
run: |
gh auth setup-git
gh auth status
gh api repos/${{ github.repository }}/deployments \
-X POST \
-F ref=${{ github.ref }} \
-F environment=production \
-F description="Deploying the application to Fly.io" \
-F required_contexts=[] \
-F auto_merge=false \
-q '.id' > deployment-id.txt
DEPLOYMENT_ID=$(cat deployment-id.txt)
echo "deployment_id=$DEPLOYMENT_ID" >> $GITHUB_ENV
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy to Fly.io πŸ›©οΈ
id: deploy
run: flyctl deploy --remote-only
env:
FLY_API_TOKEN: ${{ secrets.FLY_TOKEN }}
- name: Update GitHub Deployment Status to Success βœ…
if: ${{ success() }}
run: |
gh api repos/${{ github.repository }}/deployments/${{ env.deployment_id }}/statuses \
-X POST \
-F state=success \
-F environment_url=https://api.web-check.xyz \
-F description='βœ… Deployment successful! πŸ₯³'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Update GitHub Deployment Status to Failure 🚫
if: ${{ failure() }}
run: |
gh api repos/${{ github.repository }}/deployments/${{ env.deployment_id }}/statuses \
-X POST \
-F state=failure \
-F environment_url=https://api.web-check.xyz \
-F description='🚫 Deployment failed πŸ˜₯'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}