Skip to content

Always build Qt host tools with host CPU arch (#1122) #358

Always build Qt host tools with host CPU arch (#1122)

Always build Qt host tools with host CPU arch (#1122) #358

Workflow file for this run

name: CI for Windows
# https://github.com/google/mozc/blob/master/docs/build_mozc_in_windows.md
# Run on push.
on: push
permissions: read-all
# Prevent previous workflows from running.
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
build:
# https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md
runs-on: windows-2022
timeout-minutes: 120
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Set up pip
shell: cmd
working-directory: .\src
run: |
python -m pip install six requests
- name: Try to restore update_deps cache
uses: actions/cache@v4
with:
path: src/third_party_cache
key: update_deps-${{ runner.os }}-${{ hashFiles('src/build_tools/update_deps.py') }}
- name: Install Dependencies
shell: cmd
working-directory: .\src
# This command uses src/third_party_cache as the download cache.
run: |
python build_tools/update_deps.py
- name: Build Qt
shell: cmd
working-directory: .\src
run: |
python build_tools/build_qt.py --release --confirm_license
# This is needed only for GitHub Actions where free disk space is quite limited.
- name: Delete Qt src to save disk space
shell: cmd
working-directory: .\src
run: |
rmdir third_party\qt_src /s /q
- name: gyp
shell: cmd
working-directory: .\src
run: |
python build_mozc.py gyp
- name: build package
shell: cmd
working-directory: .\src
run: |
python build_mozc.py build -c Release package
- name: upload Mozc64.msi
uses: actions/upload-artifact@v4
with:
name: Mozc64.msi
path: src/out_win/Release/Mozc64.msi
if-no-files-found: warn
build_bazel:
# https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md
runs-on: windows-2022
timeout-minutes: 120
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Set up pip
shell: cmd
working-directory: .\src
run: |
python -m pip install six requests
- name: Try to restore update_deps cache
uses: actions/cache@v4
with:
path: src/third_party_cache
key: update_deps-${{ runner.os }}-${{ hashFiles('src/build_tools/update_deps.py') }}
- name: Install Dependencies
shell: cmd
working-directory: .\src
# This command uses src/third_party_cache as the download cache.
run: |
python build_tools/update_deps.py
- name: Build Qt
shell: cmd
working-directory: .\src
run: |
python build_tools/build_qt.py --release --confirm_license
# This is needed only for GitHub Actions where free disk space is quite limited.
- name: Delete Qt src to save disk space
shell: cmd
working-directory: .\src
run: |
rmdir third_party\qt_src /s /q
- name: build artifacts
shell: cmd
working-directory: .\src
env:
ANDROID_NDK_HOME: ""
run: |
bazel --bazelrc=windows.bazelrc build --config oss_windows --config release_build package
- name: upload Mozc64_bazel.msi
uses: actions/upload-artifact@v4
with:
name: Mozc64_bazel.msi
path: src/bazel-bin/win32/installer/Mozc64.msi
if-no-files-found: warn
test:
# https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md
runs-on: windows-2022
timeout-minutes: 90
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Set up pip
shell: cmd
working-directory: .\src
run: |
python -m pip install six requests
- name: Try to restore update_deps cache
uses: actions/cache@v4
with:
path: src/third_party_cache
key: update_deps-${{ runner.os }}-${{ hashFiles('src/build_tools/update_deps.py') }}
- name: Install Dependencies
shell: cmd
working-directory: .\src
# This command uses src/third_party_cache as the download cache.
run: |
python build_tools/update_deps.py
- name: gyp
shell: cmd
working-directory: .\src
run: |
python build_mozc.py gyp --noqt --msvs_version=2022
- name: runtests
shell: cmd
working-directory: .\src
run: |
python build_mozc.py runtests -c Debug
# actions/cache works without this job, but having this would increase the likelihood of cache hit
# in other jobs. Another approach would be to use "needs:".
# https://docs.github.com/en/actions/using-jobs/using-jobs-in-a-workflow
cache_deps:
# https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md
runs-on: windows-2022
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up pip
shell: cmd
working-directory: .\src
run: |
python -m pip install requests
- name: Try to restore update_deps cache
uses: actions/cache@v4
with:
path: src/third_party_cache
key: update_deps-${{ runner.os }}-${{ hashFiles('src/build_tools/update_deps.py') }}
- name: Install Dependencies
shell: cmd
working-directory: .\src
# This command uses src/third_party_cache as the download cache.
run: |
python build_tools/update_deps.py --cache_only