build #17683
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: | |
push: | |
branches: | |
- 'main' | |
schedule: | |
# everyday 9AM (UTC) | |
- cron: '* 9 * * *' | |
workflow_dispatch: | |
workflow_run: | |
workflows: | |
- 'sync-upstream' | |
branches: | |
- 'main' | |
types: | |
- completed | |
jobs: | |
update: | |
name: Update files | |
# Update job evaluates changes introduced in current revision and create cascading changes (commits) if necessary | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
# Checkout target revision from git repository | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 # all history (required for getting last modified time of files) | |
- name: Cache bundle directory | |
# Cache ruby bundle directory to speed up build | |
uses: actions/cache@v2 | |
with: | |
path: vendor/bundle | |
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }} | |
- name: Configure git | |
# Setup git configuration | |
run: | | |
bin/configure-git | |
- name: Setup build env | |
# Setup build environment(install runtime, library, etc.) | |
run: | | |
bin/setup-build-env | |
- name: Update tmx | |
# Update .tmx (translation memory) file from .po files | |
# Translation memory is a kind of dictionary consisted by pairs of a original text and a translated text. | |
# It will be used in sync workflow to fill a translated text to the updated .po files. | |
run: bin/update-tmx | |
- name: Push changes | |
# Commit and Push the .tmx file generated | |
run: bin/push-changes "Update tmx" | |
- name: Update translation stats | |
# Update the translation stats .csv file, which is used as an simplified dashboard ( https://github.com/quarkusio/cn.quarkus.io/blob/main/l10n/stats/translation.csv ) | |
run: bin/update-translation-stats | |
- name: Push changes | |
# Commit and Push the translation stats .csv file | |
run: bin/push-changes "Update translation stats" | |
- name: Update override stats | |
# Some files cannot be translated by po4a utility. | |
# In that case, the files are copied to `l10n/override/<locale>/` directory and translated manually. | |
# This step updates the override stats .csv file, which depicts override files are up-to-date or not | |
run: | | |
bin/update-override-stats | |
- name: Create issue if override files updated | |
# Create a new issue if override files are updated to notify users the override files needs update | |
run: | | |
.github/steps/create-issue-if-override-files-updated | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Push changes | |
# Commit and Push the override stats .csv file | |
run: bin/push-changes "Update override stats" | |
deploy-cn: | |
name: Deploy Chinese translation to GitHub pages | |
# Deploy a localized site to the GitHub pages | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
# Checkout target revision from git repository | |
uses: actions/checkout@v2 | |
- name: Cache bundle directory | |
# Cache ruby bundle directory to speed up build | |
uses: actions/cache@v2 | |
with: | |
path: vendor/bundle | |
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }} | |
- name: Setup build env | |
# Setup build environment(install runtime, library, etc.) | |
run: | | |
bin/setup-build-env | |
- name: Configure git | |
# Setup git configuration | |
run: | | |
bin/configure-git | |
- name: Exec po4a-translate | |
# Execute po4a-translate to translate files based on .po files | |
run: bin/exec-po4a-translate | |
- name: Apply override files | |
# Some files cannot be translated by po4a utility. | |
# In that case, the files are copied to `l10n/override/<locale>/` directory and translated manually | |
# This step copies the stored translated files to corresponding location. | |
run: bin/exec-override | |
- name: Exec jekyll | |
# Execute jekyll to build a localized site | |
run: bin/exec-jekyll | |
- name: Deploy to GitHub Pages | |
# Deploy the site to GitHub Pages by committing and pushing the site | |
run: | | |
echo "cn.quarkus.io" > docs/CNAME | |
git add -f docs | |
set +e | |
git diff --cached --exit-code --quiet | |
if [[ $? -eq 1 ]] ; then | |
set -e | |
git checkout -b docs | |
git commit -m "Update GitHub Pages" | |
git fetch | |
git push -f origin docs | |
fi | |
set -e |