diff --git a/.github/workflows/Linux build template.yml b/.github/workflows/Linux build template.yml index f1228a60..64124112 100644 --- a/.github/workflows/Linux build template.yml +++ b/.github/workflows/Linux build template.yml @@ -1,4 +1,4 @@ -name: Build ThunderInterfaces on Linux +name: Linux build template on: workflow_call: @@ -11,9 +11,10 @@ jobs: strategy: matrix: build_type: [Debug, Release, MinSizeRel] + architecture: [32, 64] # ----- Packages & artifacts ----- - name: Build type - ${{matrix.build_type}} + name: Build type - ${{matrix.build_type}}${{matrix.architecture == '32' && ' x86' || ''}} steps: - name: Install necessary packages uses: nick-fields/retry@v3 @@ -23,21 +24,23 @@ jobs: command: | sudo gem install apt-spy2 sudo apt-spy2 fix --commit --launchpad --country=US + echo "deb http://archive.ubuntu.com/ubuntu/ jammy main universe restricted multiverse" | sudo tee -a /etc/apt/sources.list + echo "deb http://archive.ubuntu.com/ubuntu/ jammy-updates main universe restricted multiverse" | sudo tee -a /etc/apt/sources.list + sudo dpkg --add-architecture i386 sudo apt-get update - sudo apt install python3-pip - pip install jsonref - sudo apt install build-essential cmake ninja-build libusb-1.0-0-dev zlib1g-dev libssl-dev + sudo apt install python3-pip build-essential cmake ninja-build libusb-1.0-0-dev zlib1g-dev zlib1g-dev:i386 libssl-dev gcc-11-multilib g++-11-multilib + sudo pip install jsonref - name: Download artifacts uses: actions/download-artifact@v4 with: - name: Thunder-${{matrix.build_type}}-artifact + name: Thunder-${{matrix.build_type}}${{matrix.architecture == '32' && '_x86' || ''}}-artifact path: ${{matrix.build_type}} - name: Unpack files run: | - tar -xvzf ${{matrix.build_type}}/${{matrix.build_type}}.tar.gz - rm ${{matrix.build_type}}/${{matrix.build_type}}.tar.gz + tar -xvzf ${{matrix.build_type}}/${{matrix.build_type}}${{matrix.architecture == '32' && '_x86' || ''}}.tar.gz + rm ${{matrix.build_type}}/${{matrix.build_type}}${{matrix.architecture == '32' && '_x86' || ''}}.tar.gz # ----- Regex & checkout ----- - name: Checkout ThunderInterfaces - default @@ -68,16 +71,17 @@ jobs: - name: Build ThunderInterfaces run: | cmake -G Ninja -S ThunderInterfaces -B ${{matrix.build_type}}/build/ThunderInterfaces \ - -DCMAKE_CXX_FLAGS="-Wall -Wextra -Wpedantic -Werror" \ + -DCMAKE_CXX_FLAGS="-Wall -Wextra -Wpedantic -Werror -m${{matrix.architecture}}" \ + -DCMAKE_C_FLAGS="-Wall -Wextra -Wpedantic -Werror -m${{matrix.architecture}}" \ -DCMAKE_INSTALL_PREFIX="${{matrix.build_type}}/install/usr" \ -DCMAKE_MODULE_PATH="${PWD}/${{matrix.build_type}}/install/usr/include/WPEFramework/Modules" cmake --build ${{matrix.build_type}}/build/ThunderInterfaces --target install - name: Tar files - run: tar -czvf ${{matrix.build_type}}.tar.gz ${{matrix.build_type}} + run: tar -czvf ${{matrix.build_type}}${{matrix.architecture == '32' && '_x86' || ''}}.tar.gz ${{matrix.build_type}} - name: Upload uses: actions/upload-artifact@v4 with: - name: ThunderInterfaces-${{matrix.build_type}}-artifact - path: ${{matrix.build_type}}.tar.gz + name: ThunderInterfaces-${{matrix.build_type}}${{matrix.architecture == '32' && '_x86' || ''}}-artifact + path: ${{matrix.build_type}}${{matrix.architecture == '32' && '_x86' || ''}}.tar.gz