Skip to content

fix: fixing deployment location for PRs #118

fix: fixing deployment location for PRs

fix: fixing deployment location for PRs #118

Workflow file for this run

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll site to Pages
on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]
# Build preview for pull requests
pull_request:
branches: ["**"]
# 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:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@v1 # Updated to the latest stable version
with:
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
- name: Setup Pages
id: pages
uses: actions/configure-pages@v4 # Updated to the latest version
- name: Build with Jekyll
# Outputs to the './_site' directory by default
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
env:
JEKYLL_ENV: production
- name: Upload artifact
# Automatically uploads an artifact from the './_site' directory by default
uses: actions/upload-pages-artifact@v3
# Deployment job
deploy:
environment:
name: github-pages
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
with:
# Enable preview deployments for PRs; production on main
preview: ${{ github.event_name == 'pull_request' }}
- name: Output deployment URL
if: always()
env:
GH_TOKEN: ${{ github.token }}
run: |
# Query the latest GitHub Pages deployment for this repo and extract its page_url
RAW=$(gh api -H "Accept: application/vnd.github+json" \
repos/${{ github.repository }}/pages/deployments \
--method GET --paginate -f per_page=1)
URL=$(python - <<'PY'
import json,sys

Check failure on line 80 in .github/workflows/jekyll.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/jekyll.yml

Invalid workflow file

You have an error in your yaml syntax on line 80
data=json.loads(sys.stdin.read())
if isinstance(data,list) and data:
print(data[0].get('page_url') or '')
else:
print('')
PY
<<< "$RAW")
if [ -n "$URL" ]; then
if [ "${{ github.event_name }}" = "pull_request" ]; then
echo "Preview deployment URL: $URL" >> "$GITHUB_STEP_SUMMARY"
else
echo "Production deployment URL: $URL" >> "$GITHUB_STEP_SUMMARY"
fi
else
echo "Deployment completed. Open the PR and click 'View deployment' under 'GitHub Pages - Preview' to access the preview URL." >> "$GITHUB_STEP_SUMMARY"
fi