name: Deploy to Railway on: push: branches: ["main"] workflow_dispatch: jobs: deploy: runs-on: - linux steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Bun uses: oven-sh/setup-bun@v1 with: bun-version: latest - name: Install Railway CLI run: npm i -g @railway/cli - name: Deploy with Railway env: RAILWAY_TOKEN: ${{ secrets.RAILWAY_TOKEN }} RAILWAY_PROJECT_ID: ${{ secrets.RAILWAY_PROJECT_ID }} RAILWAY_SERVICE_ID: ${{ secrets.RAILWAY_SERVICE_ID }} run: | set -euo pipefail PROJECT_FLAG="" SERVICE_FLAG="" if [ -n "${RAILWAY_PROJECT_ID:-}" ]; then PROJECT_FLAG="--project ${RAILWAY_PROJECT_ID}"; fi if [ -n "${RAILWAY_SERVICE_ID:-}" ]; then SERVICE_FLAG="--service ${RAILWAY_SERVICE_ID}"; fi # Deploy current repo; --yes to skip prompts railway up $PROJECT_FLAG $SERVICE_FLAG --yes