summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorrejbasket <39080670+rejbasket@users.noreply.github.com>2025-05-20 17:53:43 +0200
committerGitHub <noreply@github.com>2025-05-20 17:53:43 +0200
commite7b5f19b02512b7424954c868e7bacb93cdff9f2 (patch)
tree16c67353d4b7f23b75e031d25ef9bb4258d69c34 /.github
parent75f02dc4b0d6b7d6276e8b425a1c1f32c6bfca29 (diff)
add linux arm build (#3740)
Diffstat (limited to '.github')
-rwxr-xr-x.github/workflows/build.yml76
1 files changed, 75 insertions, 1 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4ef7c932..5628abd6 100755
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -79,7 +79,76 @@ jobs:
with:
name: inkstitch-linux64
path: artifacts
+ linuxarm64:
+ runs-on: ubuntu-22.04-arm
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ - uses: actions/setup-python@v5
+ with:
+ python-version: '3.11.x'
+ cache: 'pip'
+ - name: install dependencies
+ shell: bash
+ run: |
+ sudo apt-get update
+ sudo gem install fpm
+ python -m pip install --upgrade pip
+ python -m pip install wheel
+
+ sudo apt-get install gettext
+
+ # for wxPython
+ sudo apt install libnotify4
+ sudo apt install glib-networking libsdl2-dev libsdl2-2.0-0
+
+ # for PyGObject
+ sudo apt install libgirepository1.0-dev libcairo2-dev
+
+ # for shapely
+ sudo apt install build-essential libgtk-3-dev cmake
+
+ # for numpy
+ sudo apt install gfortran libopenblas-dev liblapack-dev pkg-config
+
+ uname -a
+ python --version
+ python -m pip --version
+ python -m pip debug
+ python -m pip install pycairo
+ python -m pip install PyGObject==3.50.0
+ python -m pip install numpy --no-binary numpy
+
+ python -m pip install -r requirements.txt
+ # for networkx
+ python -m pip install pandas
+ python -m pip install pyarrow
+
+ python -m pip install pyinstaller
+
+ echo "${{ env.pythonLocation }}\bin" >> $GITHUB_PATH
+ - name: Tests
+ shell: bash
+ run: |
+ pytest
+ - name: Mypy Type Checking
+ shell: bash
+ run: |
+ python -m pip install mypy
+ python -m mypy --output json | python .github/mypy-github-formatter
+ continue-on-error: true
+ - shell: bash
+ run: |
+ make dist
+ env:
+ BUILD: linux
+ INKSTITCH_GPG_KEY: ${{ secrets.INKSTITCH_GPG_KEY }}
+ - uses: actions/upload-artifact@v4
+ with:
+ name: inkstitch-linuxarm64
+ path: artifacts
linux32:
# Node required for actions, install follows
# https://github.com/actions/upload-artifact/issues/616
@@ -424,7 +493,7 @@ jobs:
release:
runs-on: ubuntu-latest
- needs: [linux32, linux64, windows64, macx86, macarm64]
+ needs: [linux32, linux64, linuxarm64, windows64, macx86, macarm64]
if: always()
steps:
- name: determine release info
@@ -447,6 +516,11 @@ jobs:
with:
name: 'inkstitch-linux64'
path: 'artifacts/'
+ - name: download linuxarm64
+ uses: actions/download-artifact@v4
+ with:
+ name: 'inkstitch-linuxarm64'
+ path: 'artifacts/'
- name: download linux32
uses: actions/download-artifact@v4
with: