Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CI/CD] Pull Requestごとの環境を GitHub Pages へとデプロイする GitHub Actions の追加 #193

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
81 changes: 81 additions & 0 deletions .github/workflows/branch-preview.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Deploy Pull Request to GitHub Pages

on:
pull_request:
types:
- opened
- synchronize
- reopened

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout phd
uses: actions/checkout@v4
with:
repository: php/phd
path: phd

- name: Checkout doc-base
uses: actions/checkout@v4
with:
repository: php/doc-base
path: doc-base

- name: Checkout doc-en
uses: actions/checkout@v4
with:
repository: php/doc-en
path: en

- name: Checkout doc-ja
uses: actions/checkout@v4
with:
path: ja

- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'

- name: Validate and build .manual.xml
run: |
php doc-base/configure.php --with-lang=ja

- name: Render xhtml
run: |
php phd/render.php --docbook doc-base/.manual.xml --package PHP --format xhtml

- name: Add Pull Request Path
run: |
PR_NUMBER=${{ github.event.pull_request.number }}
mkdir -p ./output/pr/$PR_NUMBER
mv ./output/php-chunked-xhtml/* ./output/pr/$PR_NUMBER/

- name: Upload static files as artifact
id: deployment
uses: actions/upload-pages-artifact@v3
with:
path: ./output/
retention-days: 7 # 1週間くらい残しておく

deploy:
permissions:
pages: write
id-token: write
pull-requests: write
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@v4
- name: Comment URL to Pull Request
uses: marocchino/sticky-pull-request-comment@v2
with:
message: |
Deployed ${{ github.event.pull_request.head.sha }} to ${{ steps.deployment.outputs.page_url }}pr/${{ github.event.pull_request.number }}
Loading