| # Copyright (C) 2023 and later: Unicode, Inc. and others. |
| # License & terms of use: http://www.unicode.org/copyright.html |
| # |
| # Note: the workflow here is based on the Github Actions workflow used |
| # by the Jekyll theme we are using: |
| # https://github.com/just-the-docs/just-the-docs/blob/main/.github/workflows/deploy.yml |
| # |
| # The Jekyll theme (just-the-docs) configured its Github CI to manually run the Jekyll |
| # build instead of relying on the default behavior from |
| # https://github.com/actions/jekyll-build-pages . The default behavior of |
| # actions/jekyll-build-pages seems to be causing errors with this theme. |
| |
| name: Deploy User Guide |
| |
| on: |
| # Runs on pushes targeting the default branch and only if in the `docs/` directory |
| push: |
| branches: ["main"] |
| paths: ["docs/**"] |
| |
| # 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@v3 |
| - name: Setup Ruby |
| uses: ruby/setup-ruby@v1 |
| with: |
| ruby-version: '2.7.4' # 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@v3 |
| with: |
| generator_config_file: docs/_config.yml |
| - name: Build with Jekyll |
| # Outputs to the './_site' directory by default |
| run: | |
| cd docs # root directory of markdown, also contains Jekyll configs, etc. |
| bundle install |
| # The baseurl arg is parsed from the `baseurl` field of _config.yml. |
| bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}" |
| env: |
| JEKYLL_ENV: production |
| - name: Upload artifact |
| uses: actions/upload-pages-artifact@v1 |
| with: |
| path: docs/_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@v1 |