From 8363b2eef0064f9f7db2a804ff44e130b0574f53 Mon Sep 17 00:00:00 2001 From: DwifteJB Date: Thu, 12 Mar 2026 16:34:58 +0000 Subject: [PATCH] test: build 2 --- .github/workflows/build-linux.yml | 123 ++++++++++-------------------- 1 file changed, 39 insertions(+), 84 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 925acf666..e396f0200 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -6,105 +6,60 @@ on: jobs: build: runs-on: ubuntu-latest + container: + image: archlinux:latest strategy: matrix: - configuration: [Release, Debug] + configuration: [Debug] steps: - - name: Checkout Repository + - name: Install base dependencies + run: | + pacman -Syu --noconfirm archlinux-keyring + pacman -Syu --noconfirm base-devel sudo git clang lld ninja cmake extra-cmake-modules python wine msitools ca-certificates libwbclient + + - name: Create build user + run: | + useradd -m builder + echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers + + - name: Checkout repository uses: actions/checkout@v4 - - name: Install Dependencies - run: | - sudo apt update - sudo apt install -y --no-install-recommends build-essential git clang lld ninja-build cmake extra-cmake-modules python3 wine msitools ca-certificates libwbclient0 - CLANG_VER=$(clang --version | grep -oP '(?<=version )\d+' | head -1) - [ -e /usr/bin/clang-cl ] || sudo ln -s /usr/bin/clang-cl-$CLANG_VER /usr/bin/clang-cl - [ -e /usr/bin/lld-link ] || sudo ln -s /usr/bin/lld-link-$CLANG_VER /usr/bin/lld-link + - name: Fix permissions + run: chown -R builder:builder . - - name: Setup Wine - run: | - sudo dpkg --add-architecture i386 - sudo apt update - sudo apt install -y --no-install-recommends wine64 wine32 - - name: Setup MSVC run: | - git clone https://github.com/mstorsjo/msvc-wine - cd msvc-wine - python vsdownload.py --accept-license --dest $(pwd)/my_msvc - ./install.sh $(pwd)/my_msvc - export PATH=$(pwd)/my_msvc/bin/x64:$PATH - export WINDOWS_SDK_PATH=$(pwd)/my_msvc - echo "WINDOWS_SDK_PATH=$WINDOWS_SDK_PATH" >> $GITHUB_ENV - echo "PATH=$PATH" >> $GITHUB_ENV >> $GITHUB_PATH + git clone https://github.com/mstorsjo/msvc-wine /home/builder/msvc-wine + cd /home/builder/msvc-wine + python vsdownload.py --accept-license --dest /home/builder/msvc + ./install.sh /home/builder/msvc + chown -R builder:builder /home/builder/msvc + echo "WINDOWS_SDK_PATH=/home/builder/msvc" >> $GITHUB_ENV + + - name: Wine init + run: sudo -u builder HOME=/home/builder wine wineboot # rm: via act theres an error where CMake was unable to find a build program corresponding to "Ninja" - - name: Setup Build Directory + - name: Build run: | - mkdir build - cd build - cmake .. -B . -GNinja \ - -DCMAKE_MAKE_PROGRAM=$(which ninja) \ - -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} \ - -DWINDOWS_SDK_PATH=$WINDOWS_SDK_PATH \ - -DCMAKE_TOOLCHAIN_FILE=../cmake/LinuxCrosscompile.cmake + sudo -E -u builder sh -ec ' + HOME=/home/builder + export PATH=$WINDOWS_SDK_PATH/bin/x64:$PATH + cd $GITHUB_WORKSPACE + mkdir build && cd build + cmake .. -B . -GNinja \ + -DCMAKE_MAKE_PROGRAM=$(which ninja) \ + -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} \ + -DWINDOWS_SDK_PATH=$WINDOWS_SDK_PATH \ + -DCMAKE_TOOLCHAIN_FILE=../cmake/LinuxCrosscompile.cmake + ninja + ' - - name: Build Minecraft Legacy Console Edition - run: | - cd build - ninja - - - name: Upload Release + Debug Artifacts + - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: MinecraftClient-${{ matrix.configuration }} path: build - - # container: - # image: archlinux:latest - - # strategy: - # matrix: - # configuration: [Release, Debug] - - # steps: - # - name: Install base dependencies - # run: | - # pacman -Syu --noconfirm archlinux-keyring - # pacman -Syu --noconfirm base-devel sudo git clang lld ninja cmake extra-cmake-modules python wine msitools ca-certificates libwbclient - - # - name: Create build user - # run: | - # useradd -m builder - # echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers - - # - name: Checkout repository - # uses: actions/checkout@v4 - - # - name: Fix permissions - # run: chown -R builder:builder . - - # - name: Build - # run: | - # sudo -u builder sh <<'EOF' - # set -e - # mkdir build - # cd build - # export WINDOWS_SDK_PATH="$PWD/my_msvc" - # export WINE=$(command -v wine64 || command -v wine || false) - # $WINE wineboot - # git clone https://github.com/mstorsjo/msvc-wine - # ./msvc-wine/vsdownload.py --accept-license --dest $(pwd)/my_msvc - # ./msvc-wine/install.sh $(pwd)/my_msvc - # export PATH=$(pwd)/my_msvc/bin/x64:$PATH - # cmake .. -B . -GNinja -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} -DWINDOWS_SDK_PATH=$(pwd)/my_msvc -DCMAKE_TOOLCHAIN_FILE=../cmake/LinuxCrosscompile.cmake - # ninja - # EOF - - # - name: Upload Release + Debug Artifacts - # uses: actions/upload-artifact@v4 - # with: - # name: MinecraftClient-${{ matrix.configuration }} - # path: build