mac: fixes views drawing outside of the bounds #83
This file contains hidden or 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, pull_request] | |
jobs: | |
build: | |
runs-on: >- | |
${{ | |
(matrix.targetOs == 'mac' && matrix.targetArch == 'x64') && | |
'macos-13' || | |
(fromJson('{"linux":"ubuntu-22.04","mac":"macos-14","win":"windows-2022"}')[matrix.targetOs]) | |
}} | |
continue-on-error: false | |
strategy: | |
fail-fast: false | |
matrix: | |
targetOs: [linux, mac, win] | |
targetArch: [x64, arm64] | |
include: | |
- targetOs: linux | |
targetArch: x86 | |
- targetOs: linux | |
targetArch: arm | |
- targetOs: win | |
targetArch: x86 | |
steps: | |
- name: Install Edge Canary | |
if: matrix.targetOs == 'win' | |
shell: pwsh | |
run: | | |
Start-BitsTransfer -Source 'https://go.microsoft.com/fwlink/?linkid=2084649&Channel=Canary&language=en-us' -Destination EdgeSetup.exe | |
if (-not (Test-Path 'EdgeSetup.exe')) { | |
Throw 'Failed to download Edge' | |
} | |
Start-Process -Wait -FilePath './EdgeSetup.exe' -ArgumentList '/silent', '/install' | |
- name: Install Linux Dependencies | |
if: matrix.targetOs == 'linux' | |
run: | | |
sudo apt update | |
sudo apt install -y cmake libgtk-3-dev libnotify-dev libwebkit2gtk-4.0-dev | |
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100 | |
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang 100 | |
/usr/bin/Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & | |
- name: Install Linux Cross Compilation Toolchains | |
if: matrix.targetOs == 'linux' && matrix.targetArch != 'x64' | |
run: sudo apt install -y gcc-multilib g++-multilib | |
- name: Install Linux Arm Toolchains | |
if: matrix.targetOs == 'linux' && startsWith(matrix.targetArch, 'arm') | |
run: sudo apt install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libc6-dev-armhf-cross linux-libc-dev-armhf-cross binutils-aarch64-linux-gnu | |
- uses: actions/setup-python@v3 | |
with: | |
python-version: '3.11' | |
- name: Install Python Dependencies | |
run: python -m pip install --upgrade setuptools | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# Work around CI bug https://github.com/actions/runner-images/issues/8659. | |
- uses: mjp41/workaround8649@c8550b715ccdc17f89c8d5c28d7a48eeff9c94a8 | |
if: matrix.targetOs == 'linux' && matrix.targetArch == 'x64' | |
- name: Build and Test | |
env: | |
DISPLAY: ':99.0' | |
run: node scripts/cibuild.js --target-cpu=${{ matrix.targetArch }} | |
- name: Upload Binary Files | |
uses: actions/upload-artifact@v3 | |
with: | |
path: | | |
out/Dist/lua_yue_*.zip | |
out/Dist/napi_yue_*.zip | |
retention-days: 1 | |
- name: Upload Library Files | |
if: matrix.targetArch == 'x64' | |
uses: actions/upload-artifact@v3 | |
with: | |
path: | | |
out/Dist/libyue_*.zip | |
retention-days: 1 | |
- name: Upload Document Files | |
if: matrix.targetOs == 'linux' && matrix.targetArch == 'x64' | |
uses: actions/upload-artifact@v3 | |
with: | |
path: | | |
out/Dist/yue_typescript_declarations_*.zip | |
out/Dist/yue_docs_*.zip | |
retention-days: 1 | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Lint | |
run: node ./scripts/cpplint.js | |
release: | |
if: startsWith(github.ref, 'refs/tags/') | |
needs: [build, lint] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download Files | |
uses: actions/download-artifact@v3 | |
- name: Release | |
uses: ncipollo/release-action@v1 | |
with: | |
name: Yue ${{ github.ref_name }} | |
body: '## Changelog' | |
draft: true | |
artifacts: artifact/*.zip | |
artifactErrorsFailBuild: true |