Skip to content

Build and deploy vim help #29

Build and deploy vim help

Build and deploy vim help #29

name: Build and deploy vim help
# This is an experimental.
#
# gh-pagesブランチを経由せず、actions/upload-pages-artifactを使って直接GitHub Pagesにデプロイする試み
# pushのたびにいったん artifacts まで作る(HTML生成+Jekyll実行)
# masterへのpushかcronでの実行であればGitHub Pagesへアップロードする
# …という計画
on:
push:
schedule:
- cron: '5 12 * * *'
jobs:
build:
runs-on: ubuntu-24.04
steps:
- name: Setup Vim
uses: thinca/action-setup-vim@v2
with:
vim_version: 'v9.1.0065'
vim_type: 'Vim'
- name: Checkout
uses: actions/checkout@v4
#
# Generate HTML from Vim documents and upload it as an artifact.
#
- name: Generate new HTML documents
run: |
make html
- name: Check commit IDs
id: commitid
run: |
echo "vim=$(git -C vim rev-parse HEAD)" >> $GITHUB_OUTPUT
echo "vim_faq=$(git -C vim_faq rev-parse HEAD)" >> $GITHUB_OUTPUT
- name: Upload vim generated HTML files as an artifact
uses: actions/upload-artifact@v4
with:
name: vim-generated-html
path: target/html/doc/*.html
#
# Generate GitHub Page site and upload it as an artifact.
#
- name: Prepare for building GitHub Page (Jekyll)
run:
make jekyll-build-prepare
- name: Build GitHub Page site
uses: actions/jekyll-build-pages@v1
with:
source: target/jekyll-work
verbose: true
- name: Upload a site as an artifact
uses: actions/upload-pages-artifact@v3
with:
path: _site/
retention-days: 7
# Upload a site to GitHub Pages
deploy:
needs:
- build
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-22.04
permissions:
contents: read
pages: write
id-token: write
# Run only when updating the master branch or when started by cron.
if: github.ref == 'refs/heads/master' || github.event_name == 'schedule'
steps:
- name: Deploy to Github Pages
id: deployment
uses: actions/deploy-pages@v4