name: Build and Deploy Site on: push: branches: - master workflow_dispatch: permissions: contents: read pages: write id-token: write concurrency: group: "pages" cancel-in-progress: true defaults: run: shell: bash jobs: build: runs-on: ubuntu-latest env: HUGO_VERSION: 0.108.0 NODE_VERSION: 18.12.1 steps: - name: Checkout uses: actions/checkout@v3 with: submodules: true fetch-depth: 0 - name: Setup pages id: pages uses: actions/configure-pages@v2 - name: Setup Node uses: actions/setup-node@v3 with: node-version: "${{ env.NODE_VERSION }}" - name: Setup Hugo uses: peaceiris/actions-hugo@v2 with: hugo-version: "${{ env.HUGO_VERSION }}" extended: true - name: Configure npm run: | npm config set "@fortawesome:registry" https://npm.fontawesome.com/ npm config set "//npm.fontawesome.com/:_authToken" ${{ secrets.FONTAWESOME_TOKEN }} - name: Install postcss run: | npm -g install postcss-cli - name: Install npm packages run: | npm ci - name: Run Hugo run: | hugo --environment production --minify - name: Upload artifact uses: actions/upload-pages-artifact@v1 with: path: ./public - name: Deploy to gh-pages if: ${{ !env.ACT && github.ref == 'refs/heads/master' }} uses: peaceiris/actions-gh-pages@v3 with: deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} publish_dir: ./public cname: millironx.com