From df3e412e9b3defadc1f7d21810a88f270bb479ef Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Tue, 26 Nov 2024 19:32:06 +0300 Subject: Add lmde6 32bit build (#3297) (#3298) --- .github/workflows/build.yml | 101 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 99 insertions(+), 2 deletions(-) (limited to '.github') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4ae9c6f7..7e5bf341 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,7 +59,7 @@ jobs: # for networkx python -m pip install pandas python -m pip install pyarrow - + python -m pip install pyinstaller # scipy gives us a ELF error when stripped @@ -84,6 +84,98 @@ jobs: with: name: inkstitch-linux path: artifacts + linux32: + # Node required for actions, install follows + # https://github.com/actions/upload-artifact/issues/616 + runs-on: ubuntu-latest + container: + image: linuxmintd/lmde6-i386 + volumes: + - ${{ github.workspace }}:/__e/node20 + steps: + - name: Checkout repository + shell: bash + run: | + ls -lar /__e/node20 && + apt-get update && + apt-get install -y curl && + curl -Lo /tmp/node.tar.gz https://unofficial-builds.nodejs.org/download/release/v20.17.0/node-v20.17.0-linux-x86.tar.gz && + cd /__e/node20 && + tar -x --strip-components=1 -f /tmp/node.tar.gz + - uses: actions/checkout@v4 + with: + submodules: recursive + # Permissions problem that prevents caching + # https://github.com/actions/setup-python/issues/816 + - name: Change ownership of /github/home + run: sudo chown -R $(whoami) /github/home + - name: Replace `node` with an i386 version + shell: bash + run: | + ls -lar /__e/node20 && + curl -Lo /tmp/node.tar.gz https://unofficial-builds.nodejs.org/download/release/v20.17.0/node-v20.17.0-linux-x86.tar.gz && + cd /__e/node20 && + tar -x --strip-components=1 -f /tmp/node.tar.gz + - uses: actions/cache@v4 + id: build-venv-cache + with: + path: virtualenv + key: ${{ runner.os }}-latest-venv-${{ hashFiles('**/bin/build-linux32-venv') }} + restore-keys: | + ${{ runner.os }}-latest-venv- + - name: install os dependencies + shell: bash + run: | + apt-get install -y python3-dev python3-pip pipx ruby-full + gem install fpm + apt-get install -y python3-wheel + apt-get install -y gettext + + # for wxPython + apt-get install -y libnotify4 + apt-get install -y glib-networking libsdl2-dev libsdl2-2.0-0 + + # for PyGObject + apt-get install -y libgirepository1.0-dev libcairo2-dev + + # for shapely + apt-get install -y build-essential libgtk-3-dev libgeos-dev cmake + apt-get install -y gcc g++ gfortran libopenblas-dev liblapack-dev + + # for signing rpm + apt-get install -y rpm + - name: install/build python dependencies + if: steps.build-venv-cache.outputs.cache-hit != 'true' + shell: bash + run: | + bash bin/build-linux32-venv + - name: test + shell: bash + run: | + source virtualenv/bin/activate + echo "${{ env.pythonLocation }}\bin" >> $GITHUB_PATH + pytest + deactivate + - name: Package distributable + shell: bash + run: | + source virtualenv/bin/activate + make dist + deactivate + env: + BUILD: linux32 + INKSTITCH_GPG_KEY: ${{ secrets.INKSTITCH_GPG_KEY }} + - name: Upload artifact + shell: bash + run: | + ls -lar /__e/node20 && + curl -Lo /tmp/node.tar.gz https://unofficial-builds.nodejs.org/download/release/v20.17.0/node-v20.17.0-linux-x86.tar.gz && + cd /__e/node20 && + tar -x --strip-components=1 -f /tmp/node.tar.gz + - uses: actions/upload-artifact@v4 + with: + name: inkstitch-linux32 + path: artifacts windows32: runs-on: windows-2019 steps: @@ -353,7 +445,7 @@ jobs: release: runs-on: ubuntu-latest - needs: [linux, windows32, windows64, macx86, macarm64] + needs: [linux32, linux, windows32, windows64, macx86, macarm64] if: always() steps: - name: determine release info @@ -376,6 +468,11 @@ jobs: with: name: 'inkstitch-linux' path: 'artifacts/' + - name: download linux32 + uses: actions/download-artifact@v4 + with: + name: 'inkstitch-linux32' + path: 'artifacts/' - name: download windows32 uses: actions/download-artifact@v4 with: -- cgit v1.2.3