diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5b0e1f3..8965544 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,49 +1,51 @@ -name: CI/CD for techanv consulting website developemnt. +# Simple workflow for deploying static content to GitHub Pages +name: Deploy to GitHub Pages on: + # Runs on pushes targeting the default branch push: - branches: - - main + branches: ['main'] -jobs: - build: - name: Build - runs-on: ubuntu-latest - - steps: - - name: Checkout repo - uses: actions/checkout@v4 + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: - - name: Setup Node - uses: actions/setup-node@v4 - - - name: Install dependencies - uses: bahmutov/npm-install@v1 - - - name: Build project - run: npm run build +# Sets the GITHUB_TOKEN permissions to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write - - name: Upload production-ready build files - uses: actions/upload-artifact@v4 - with: - name: production-files - path: ./dist +# Allow one concurrent deployment +concurrency: + group: 'pages' + cancel-in-progress: true +jobs: + # Single deploy job since we're just deploying deploy: - name: Deploy - needs: build + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest - if: github.ref == 'refs/heads/main' - steps: - - name: Download artifact - uses: actions/download-artifact@v4 + - name: Checkout + uses: actions/checkout@v3 + - name: Set up Node + uses: actions/setup-node@v3 with: - name: production-files - path: ./dist - - - name: Deploy to GitHub Pages - uses: peaceiris/actions-gh-pages@v3 + node-version: 20 + cache: 'npm' + - name: Install dependencies + run: npm install + - name: Build + run: npm run build + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 with: - github_token: ${{ secrets.gh }} - publish_dir: ./dist + # Upload dist repository + path: './dist' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1