diff --git a/.github/workflows/build-linux_arm64.yml b/.github/workflows/build-linux_arm64.yml index 8b13789..124f0e1 100644 --- a/.github/workflows/build-linux_arm64.yml +++ b/.github/workflows/build-linux_arm64.yml @@ -1 +1,80 @@ +name: build-mailadler-linux-arm64 +on: + workflow_dispatch: + push: + branches: [main, master] + paths: + - 'src/**' + - 'CMakeLists.txt' + - '.github/workflows/build-linux_arm64.yml' + pull_request: + branches: [main, master] + +env: + QT_VERSION: 6.6.3 + +jobs: + build: + runs-on: ubuntu-24.04-arm + + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Install Qt + uses: jurplel/install-qt-action@v4 + with: + version: ${{ env.QT_VERSION }} + arch: linux_gcc_arm64 + modules: 'qtwebsockets' + cache: true + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + build-essential \ + cmake \ + ninja-build \ + libgl1-mesa-dev \ + libxkbcommon-dev \ + libxcb-xinerama0-dev \ + libxcb-cursor0 \ + libsqlite3-dev \ + libssl-dev + + - name: Configure + run: | + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DEXTERNAL_LAUNCHERS=OFF + + - name: Build + run: cmake --build build --parallel + + - name: Prepare version + run: | + VERSION=$(date +"%y.%-m.%-d") + echo "VERSION=$VERSION" >> $GITHUB_ENV + + - name: Package + run: | + cd build + DESTDIR=../mailadler-arm64 cmake --install . + cd .. + tar -cJf mailadler-linux-arm64-${{ env.VERSION }}.txz mailadler-arm64 + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: mailadler-linux-arm64 + path: mailadler-linux-arm64-*.txz + + - name: Upload to release (on tag) + if: startsWith(github.ref, 'refs/tags/') + uses: softprops/action-gh-release@v1 + with: + files: mailadler-linux-arm64-*.txz