| # Copyright (C) 2016 and later: Unicode, Inc. and others. |
| # License & terms of use: http://www.unicode.org/copyright.html |
| # |
| # GitHub Action configuration script for ICU continuous integration tasks. |
| |
| name: GHA ICU Docs |
| |
| on: |
| push: |
| branches: |
| - main |
| - 'maint/maint*' |
| paths: |
| - 'docs/**' |
| - '.github/workflows/**' |
| pull_request: |
| branches: '**' |
| paths: |
| - 'docs/**' |
| - '.github/workflows/**' |
| workflow_dispatch: |
| # To trigger the Env Test workflow manually, follow the instructions in |
| # https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow |
| |
| # For non-release branches (namely: PRs), only run CI on the most recent commit. Cancel |
| # runs on previous commits mid-flight when new commits are pushed. |
| # https://docs.github.com/en/actions/using-jobs/using-concurrency#example-only-cancel-in-progress-jobs-on-specific-branches |
| concurrency: |
| group: ${{ github.workflow }}-${{ github.ref }} |
| cancel-in-progress: ${{ !contains(github.ref, 'maint/') && github.ref != 'main' }} |
| |
| permissions: |
| contents: read |
| |
| jobs: |
| # Build job |
| # Keep in sync with deploy workflow in `jekyll-gh-pages.yml` |
| test-docs-build: |
| name: Test build of User Guide docs |
| runs-on: ubuntu-22.04 # Updated in BRS |
| steps: |
| - name: Checkout |
| uses: actions/checkout@v5 |
| - 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@v5 |
| 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 |