diff --git a/.github/workflows/release-pages-production.yaml b/.github/workflows/release-pages-production.yaml index 0536394..4055cbe 100644 --- a/.github/workflows/release-pages-production.yaml +++ b/.github/workflows/release-pages-production.yaml @@ -1,5 +1,5 @@ -# Simple workflow for deploying static content to GitHub Pages -name: Release to DEG-Mods.github.io +# Deploying to GitHub Pages +name: Release to DEGMods.github.io/DEG-Mods on: push: @@ -8,15 +8,21 @@ on: # Allows you to run this workflow manually from the Actions tab workflow_dispatch: -# Allow one concurrent deployment +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. concurrency: group: 'pages' - cancel-in-progress: true + cancel-in-progress: false jobs: + # Build job build: - environment: - name: github-pages runs-on: ubuntu-latest steps: - name: Checkout @@ -24,7 +30,7 @@ jobs: - name: Set up Node uses: actions/setup-node@v4 with: - node-version: 18 + node-version: '18' cache: 'npm' - name: Install dependencies run: npm ci @@ -41,46 +47,19 @@ jobs: - name: Build run: npm run build - - name: Upload build artifacts - uses: actions/upload-artifact@v4 + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 with: - name: dist path: './dist' + # Deployment job deploy: environment: name: github-pages + url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest needs: build steps: - - name: Checkout - uses: actions/checkout@v4 - with: - repository: ${{ vars.ORGANIZATION_NAME }}/${{ vars.REPOSITORY_NAME }} - path: ${{ vars.REPOSITORY_NAME }} - token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} - - - name: Clear target repo - run: | - rm -rf ${{ vars.REPOSITORY_NAME }}/* - - - name: Download build artifacts - uses: actions/download-artifact@v4 - with: - name: dist - path: ./dist - - - name: Prepare files - run: | - cp -r dist/* ${{ vars.REPOSITORY_NAME }}/ - echo ${{ vars.CUSTOM_DOMAIN }} > ${{ vars.REPOSITORY_NAME }}/CNAME - touch ${{ vars.REPOSITORY_NAME }}/.nojekyll - - - name: Commit and push - run: | - cd ${{ vars.REPOSITORY_NAME }} - git config --global user.name 'github-actions[bot]' - git config --global user.email 'github-actions[bot]@users.noreply.github.com' - git add . - git commit -m 'Deploy from source repo' - git push origin main + - name: Deploy to Github Pages + id: deployment + uses: actions.deploy-pages@v4