name: Deploy To Ghaymah on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Create .ghaymah.json with environment variables run: | cat > /tmp/ghaymah.json << 'EOF' { "id": "da97e2b8-0b2c-49d8-a672-1d162c8e15f1", "name": "oudelaa-api", "projectId": "1137d5bd-c997-4654-9d01-3c7a88b07269", "ports": [ { "expose": true, "number": 3000 } ], "publicAccess": { "enabled": true }, "resourceTier": "g1.nano", "dockerFileName": "Dockerfile" } EOF jq '.env = { "MONGODB_URI": "${{ secrets.MONGODB_URI }}", "JWT_ACCESS_SECRET": "${{ secrets.JWT_ACCESS_SECRET }}", "JWT_REFRESH_SECRET": "${{ secrets.JWT_REFRESH_SECRET }}", "EMAIL_SMTP_HOST": "${{ secrets.EMAIL_SMTP_HOST }}", "EMAIL_SMTP_PASS": "${{ secrets.EMAIL_SMTP_PASS }}", "EMAIL_SMTP_PORT": "${{ secrets.EMAIL_SMTP_PORT }}", "EMAIL_SMTP_USER": "${{ secrets.EMAIL_SMTP_USER }}", "SUPERADMIN_ACCESS_EXPIRES_IN": "${{ secrets.SUPERADMIN_ACCESS_EXPIRES_IN }}", "SUPERADMIN_ACCESS_SECRET": "${{ secrets.SUPERADMIN_ACCESS_SECRET }}", "SUPERADMIN_EMAIL": "${{ secrets.SUPERADMIN_EMAIL }}", "SUPERADMIN_PASSWORD": "${{ secrets.SUPERADMIN_PASSWORD }}", "SUPERADMIN_REFRESH_EXPIRES_IN": "${{ secrets.SUPERADMIN_REFRESH_EXPIRES_IN }}", "SUPERADMIN_REFRESH_SECRET": "${{ secrets.SUPERADMIN_REFRESH_SECRET }}", "PUBLIC_BUILD_SHA": "${{ github.sha }}" }' /tmp/ghaymah.json > .ghaymah.json cat .ghaymah.json - name: Install Ghaymah CLI run: curl -sSl https://cli.ghaymah.systems/install.sh | bash - name: Login to Ghaymah run: | $HOME/ghaymah/bin/gy auth login \ --email "${{ secrets.GHAYMAH_EMAIL }}" \ --password "${{ secrets.GHAYMAH_PW }}" \ --no-auto-update - name: Deploy run: $HOME/ghaymah/bin/gy resource app launch --no-auto-update