diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 402ffbb..ef55447 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,38 +1,33 @@ -# This is a workflow to build and deploy a Vue.js app to GitHub Pages +# This is a workflow to build, package, and deploy a Vue.js app to GitHub Pages -name: Build and Deploy to GitHub Pages +name: Build, Package and Deploy to GitHub Pages # Controls when the workflow will run on: # Triggers the workflow on push events but only for the "main" branch push: - branches: [ "main" ] + branches: ["main"] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: -# Token must be able to push to pages permissions: contents: read pages: write - id-token: write -# A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - build-and-deploy: - # The type of runner that the job will run on + build-package-and-deploy: runs-on: ubuntu-latest - # Steps represent a sequence of tasks that will be executed as part of the job steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + # Checkout the repository - name: Checkout Repository uses: actions/checkout@v3 - # Setup Node.js environment + # Setup Node.js - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: '20' # Set this to the Node.js version you use + node-version: "20" # Set this to the Node.js version you use # Install dependencies - name: Install Dependencies @@ -42,13 +37,21 @@ jobs: - name: Build run: npm run build - # Deploy to GitHub Pages using the new action + # Fix file permissions + - name: Fix Permissions + run: | + chmod -c -R +rX dist/ | while read line; do + echo "::warning title=Invalid file permissions automatically fixed::$line" + done + + # Package and upload the artifact + - name: Package and Upload Artifact + uses: actions/upload-pages-artifact@v3 + with: + path: dist + + # Deploy to GitHub Pages - name: Deploy GitHub Pages site uses: actions/deploy-pages@v4.0.5 with: token: ${{ github.token }} - timeout: 600000 - error_count: 10 - reporting_interval: 5000 - artifact_name: github-pages # Name of the artifact produced by a previous step; adjust if necessary - preview: false