trying to speed up windows build
This commit is contained in:
61
.github/workflows/build.yml
vendored
61
.github/workflows/build.yml
vendored
@@ -19,7 +19,7 @@ permissions:
|
||||
jobs:
|
||||
build-windows:
|
||||
name: Windows Build
|
||||
runs-on: windows-latest
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -30,19 +30,72 @@ jobs:
|
||||
host: win
|
||||
target: win
|
||||
|
||||
- name: Download xwin
|
||||
uses: robinraju/release-downloader@v1.10
|
||||
with:
|
||||
repository: Jake-Shadle/xwin
|
||||
latest: true
|
||||
fileName: 'xwin-*-x86_64-unknown-linux-musl.tar.gz'
|
||||
tarBall: false
|
||||
zipBall: false
|
||||
out-file-path: "epic-xwin"
|
||||
|
||||
- name: Prepare xwin
|
||||
run: |
|
||||
tar -xzf epic-xwin/xwin-*-x86_64-unknown-linux-musl.tar.gz -C epic-xwin
|
||||
mv epic-xwin/xwin-*-x86_64-unknown-linux-musl/xwin ./xwin
|
||||
./xwin --arch x86_64 --sdk-version 10.0.22621 --accept-license list
|
||||
|
||||
# this caches '.xwin-cache/**/*' but that's actually only gonna
|
||||
# contain the manifest cuz we only ran `xwin list` so far
|
||||
- name: Setup xwin Cache
|
||||
id: xwin-cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: .xwin-cache
|
||||
key: xwin-win-v1-${{ hashFiles('.xwin-cache/**/*') }}
|
||||
|
||||
- name: Download clang-msvc-sdk toolchain
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: 'Nemirtingas/clang-msvc-sdk'
|
||||
path: toolchain
|
||||
submodules: recursive
|
||||
|
||||
- name: Install Clang
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y wget lsb-release software-properties-common gnupg
|
||||
|
||||
wget https://apt.llvm.org/llvm.sh
|
||||
chmod +x llvm.sh
|
||||
sudo ./llvm.sh 21 all
|
||||
|
||||
- name: Add LLVM 21 to path
|
||||
run: echo "/usr/lib/llvm-21/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Verify LLVM
|
||||
run: |
|
||||
which clang-cl
|
||||
which lld-link
|
||||
clang-cl --version
|
||||
lld-link --version
|
||||
|
||||
- name: Create Build Environment
|
||||
# Some projects don't allow in-source building, so create a separate build directory
|
||||
# We'll use this as our working directory for all subsequent commands
|
||||
run: cmake -E make_directory ${{github.workspace}}/build
|
||||
|
||||
- name: Configure CMake
|
||||
shell: powershell
|
||||
working-directory: ${{github.workspace}}/build
|
||||
run: cmake $env:GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$env:BUILD_TYPE
|
||||
run: cmake $env:GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$env:BUILD_TYPE -DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
|
||||
env:
|
||||
SPLAT_DIR: ${{ github.workspace }}/.xwin-cache/splat
|
||||
TOOLCHAIN: ${{ github.workspace }}/toolchain/clang-cl-msvc.cmake
|
||||
HOST_ARCH: x86_64
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{github.workspace}}/build
|
||||
shell: powershell
|
||||
run: cmake --build . --config $env:BUILD_TYPE --target MinecraftPE --parallel
|
||||
|
||||
- name: Upload Artifact
|
||||
|
||||
Reference in New Issue
Block a user