on: push: branches: - stage - prod jobs: build: runs-on: docker #environment: ${{ env.FORGEJO_REF_NAME }} container: image: node:22 steps: - name: Checkout code uses: actions/checkout@v4 - name: Cache node modules uses: actions/cache@v4 with: path: ~/.npm key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node- - name: Install dependencies run: npm ci - name: Build Astro project run: npm run build - name: Deploy dist to dist-${{ env.FORGEJO_REF_NAME }} run: | git config user.name "forgejo-actions[bot]" git config user.email "forgejo-actions[bot]@users.noreply.local" git checkout --orphan temp git rm -rf . git add dist git commit -m "Update dist for ${{ env.FORGEJO_REF_NAME }}" git push \ "https://x-access-token:${{ secrets.FORGEJO_TOKEN }}@git.workaround.org/${{ github.repository }}.git" \ temp:dist-${{ env.FORGEJO_REF_NAME }} \ --force - name: Trigger deployment webhook env: DEPLOY_WEBHOOK: ${{ secrets.COOLIFY_DEPLOY_WEBHOOK_ }} DEPLOY_TOKEN: ${{ secrets.COOLIFY_DEPLOY_TOKEN }} run: | if [ "${{ env.FORGEJO_REF_NAME }}" = "stage" ]; then DEPLOY_WEBHOOK="${{ secrets.COOLIFY_DEPLOY_WEBHOOK_STAGE }}" DEPLOY_TOKEN="${{ secrets.COOLIFY_DEPLOY_TOKEN_STAGE }}" else DEPLOY_WEBHOOK="${{ secrets.COOLIFY_DEPLOY_WEBHOOK_PROD }}" DEPLOY_TOKEN="${{ secrets.COOLIFY_DEPLOY_TOKEN_PROD }}" fi curl -v "$DEPLOY_WEBHOOK" \ --header "Authorization: Bearer $DEPLOY_TOKEN"