diff --git a/.github/workflows/github_pages.yml b/.github/workflows/github_pages.yml index 518e89c..f4168ba 100644 --- a/.github/workflows/github_pages.yml +++ b/.github/workflows/github_pages.yml @@ -1,4 +1,4 @@ -name: Deploy Site +name: Deploy Jekyll site to Pages on: push: @@ -7,23 +7,62 @@ on: schedule: - cron: "0 0 1 * *" + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# 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: false + jobs: - github-pages: + build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - # Use GitHub Actions' cache to shorten build times and decrease load on servers - - uses: actions/cache@v2 + - uses: actions/checkout@v3 + + - name: Setup Ruby + uses: ruby/setup-ruby@v1 with: - path: vendor/bundle - key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile') }} - restore-keys: | - ${{ runner.os }}-gems- + ruby-version: '3.1' # Not needed with a .ruby-version file + bundler-cache: true # runs 'bundle install' and caches installed gems automatically + cache-version: 0 # Increment this number if you need to re-download cached gems - - uses: helaili/jekyll-action@v2 + + - name: Setup Pages + id: pages + uses: actions/configure-pages@v3 + + - name: Build with Jekyll + # Outputs to the './_site' directory by default + run: | + cd website + bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}" env: - JEKYLL_PAT: ${{ secrets.JEKYLL_PAT }} - with: - jekyll_src: 'website' + JEKYLL_ENV: production + - name: Upload artifact + # Automatically uploads an artifact from the './_site' directory by default + uses: actions/upload-pages-artifact@v2 + with: + path: website/_site + + # 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 \ No newline at end of file