diff --git a/.github/workflows/hugo.yml b/.github/workflows/hugo.yml new file mode 100644 index 0000000..cefd490 --- /dev/null +++ b/.github/workflows/hugo.yml @@ -0,0 +1,74 @@ +# Sample workflow for building and deploying a Hugo site to GitHub Pages +name: Deploy Hugo site to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + + +# Environment variables available to all jobs and steps in this workflow +env: + HUGO_ENV: production + HUGO_VERSION: "0.114.0" + GO_VERSION: "1.16.3" + NODE_VERSION: "18.15.0" + TINA_CLIENT_ID: ${{ secrets.TINA_CLIENT_ID }} + TINA_TOKEN: ${{ secrets.TINA_TOKEN }} + +jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: ${{ env.NODE_VERSION }} + cache: 'npm' + + - name: Install Hugo + run: | + curl -LO "https://github.com/gohugoio/hugo/releases/download/v${{ env.HUGO_VERSION }}/hugo_extended_${{ env.HUGO_VERSION }}_Linux-64bit.tar.gz" + tar -xvf hugo_extended_${{ env.HUGO_VERSION }}_Linux-64bit.tar.gz + sudo mv hugo /usr/local/bin/ + rm hugo_extended_${{ env.HUGO_VERSION }}_Linux-64bit.tar.gz + hugo version + + - name: Install Go + run: | + curl -LO "https://dl.google.com/go/go${{ env.GO_VERSION }}.linux-amd64.tar.gz" + sudo tar -C /usr/local -xzf go${{ env.GO_VERSION }}.linux-amd64.tar.gz + echo "export PATH=$PATH:/usr/local/go/bin" >> $GITHUB_ENV + rm go${{ env.GO_VERSION }}.linux-amd64.tar.gz + go version + + - name: Install npm dependencies + run: npm install + + - name: Publish to GitHub Pages + run: npm run build + + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + path: ./public + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2