diff --git a/.forgejo/workflows/playing-around.yaml b/.forgejo/workflows/playing-around.yaml index fce522f..feccaf4 100644 --- a/.forgejo/workflows/playing-around.yaml +++ b/.forgejo/workflows/playing-around.yaml @@ -14,6 +14,11 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + # - name: Setup Node.js + # uses: https://code.forgejo.org/actions/setup-node@v4 + # with: + # node-version: "22" + - name: Cache node modules uses: actions/cache@v4 with: @@ -44,10 +49,10 @@ jobs: temp:dist-${{ env.FORGEJO_REF_NAME }} \ --force - - name: Trigger deployment webhook - env: - DEPLOY_WEBHOOK: ${{ secrets.COOLIFY_STAGE_DEPLOY_WEBHOOK }} - DEPLOY_TOKEN: ${{ secrets.COOLIFY_STAGE_DEPLOY_TOKEN }} - run: | - curl -v "$DEPLOY_WEBHOOK" \ - --header "Authorization: Bearer $DEPLOY_TOKEN" + # - name: Trigger deployment webhook + # env: + # DEPLOY_WEBHOOK: ${{ secrets.COOLIFY_STAGE_DEPLOY_WEBHOOK }} + # DEPLOY_TOKEN: ${{ secrets.COOLIFY_STAGE_DEPLOY_TOKEN }} + # run: | + # curl -v "$DEPLOY_WEBHOOK" \ + # --header "Authorization: Bearer $DEPLOY_TOKEN" diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml new file mode 100644 index 0000000..6460280 --- /dev/null +++ b/.github/workflows/build-and-deploy.yml @@ -0,0 +1,58 @@ +name: Build Astro and deploy dist + +on: + push: + branches: + - stage + - prod + workflow_dispatch: + +permissions: + contents: write # 👈 This is required for pushing branches + +jobs: + build: + runs-on: ubuntu-latest + # Dynamically set environment name based on branch + environment: ${{ github.ref_name }} + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "22" # match your project + + - name: Install dependencies + run: npm ci + + - name: Build Astro project + run: npm run build + + - name: Deploy dist to dist-${{ github.ref_name }} + run: | + # Configure Git + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + + # Create temporary branch + git checkout --orphan temp-build + + # Clean it + git rm -rf . + + # Commit and force push + git add dist + + git branch + git commit -m "Update dist/ [skip ci]" + git push https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} temp-build:dist-${{ github.ref_name }} --force + + - name: Trigger deployment webhook + run: | + curl -v "$DEPLOY_WEBHOOK" --header "Authorization: Bearer $DEPLOY_TOKEN" + env: + DEPLOY_WEBHOOK: ${{ secrets.COOLIFY_DEPLOY_WEBHOOK }} + DEPLOY_TOKEN: ${{ secrets.COOLIFY_DEPLOY_TOKEN }}