Flatpak Arm64 Support #3695
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build all | |
on: | |
push: | |
branches: | |
- main | |
- release/* | |
paths: | |
- 'deps/**' | |
- 'src/**' | |
- '**/CMakeLists.txt' | |
- 'version.inc' | |
- 'localization/**' | |
- 'resources/**' | |
- ".github/workflows/build_*.yml" | |
pull_request: | |
branches: | |
- main | |
- release/* | |
paths: | |
- 'deps/**' | |
- 'src/**' | |
- '**/CMakeLists.txt' | |
- 'version.inc' | |
- ".github/workflows/build_*.yml" | |
- 'BuildLinux.sh' | |
- 'build_release_vs2022.bat' | |
- 'build_release_macos.sh' | |
workflow_dispatch: # allows for manual dispatch | |
inputs: | |
build-deps-only: | |
description: 'Only build dependencies (bypasses caching)' | |
type: boolean | |
default: false | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build_all: | |
name: Build All | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: ubuntu-20.04 | |
- os: ubuntu-24.04 | |
- os: windows-latest | |
- os: macos-14 | |
arch: x86_64 | |
- os: macos-14 | |
arch: arm64 | |
uses: ./.github/workflows/build_check_cache.yml | |
with: | |
os: ${{ matrix.os }} | |
arch: ${{ matrix.arch }} | |
build-deps-only: ${{ inputs.build-deps-only || false }} | |
secrets: inherit | |
flatpak: | |
name: "Flatpak" | |
runs-on: ubuntu-latest | |
timeout-minutes: 360 | |
env: | |
date: | |
ver: | |
ver_pure: | |
container: | |
image: bilelmoussaoui/flatpak-github-actions:gnome-46 | |
options: --privileged | |
volumes: | |
- /usr/local/lib/android:/usr/local/lib/android | |
- /usr/share/dotnet:/usr/share/dotnet | |
- /opt/ghc:/opt/ghc1 | |
- /usr/local/share/boost:/usr/local/share/boost1 | |
strategy: | |
matrix: | |
arch: [x86_64, aarch64] | |
fail-fast: false | |
steps: | |
- name: Grant sudo permissions without password | |
run: echo 'runner ALL=(ALL) NOPASSWD:ALL' | sudo EDITOR='tee -a' visudo | |
- name: "Remove unneeded stuff to free disk space" | |
run: | |
sudo rm -rf /usr/local/lib/android/* /usr/share/dotnet/* /opt/ghc1/* "/usr/local/share/boost1/*" | |
- uses: actions/checkout@v4 | |
- name: Get the version and date | |
run: | | |
ver_pure=$(grep 'set(SoftFever_VERSION' version.inc | cut -d '"' -f2) | |
if [[ "${{ github.event_name }}" == "pull_request" ]]; then | |
ver="PR-${{ github.event.number }}" | |
else | |
ver=V$ver_pure | |
fi | |
echo "ver=$ver" >> $GITHUB_ENV | |
echo "ver_pure=$ver_pure" >> $GITHUB_ENV | |
echo "date=$(date +'%Y%m%d')" >> $GITHUB_ENV | |
shell: bash | |
- name: Install deps | |
if: ${{ matrix.arch != 'x86_64' }} | |
run: | | |
dnf -y install docker | |
- name: Set up QEMU | |
if: ${{ matrix.arch != 'x86_64' }} | |
id: qemu | |
uses: docker/setup-qemu-action@v2 | |
with: | |
platforms: arm64 | |
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6 | |
with: | |
bundle: OrcaSlicer-Linux-flatpak_${{ env.ver }}.flatpak | |
manifest-path: flatpak/io.github.softfever.OrcaSlicer.yml | |
cache: true | |
arch: ${{ matrix.arch }} | |
- name: Deploy Flatpak to nightly release | |
if: ${{github.ref == 'refs/heads/main'}} | |
uses: WebFreak001/[email protected] | |
with: | |
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label} | |
release_id: 137995723 | |
asset_path: /__w/OrcaSlicer/OrcaSlicer/OrcaSlicer-Linux-flatpak_${{ env.ver }}.flatpak | |
asset_name: OrcaSlicer-Linux-flatpak_${{ env.ver }}.flatpak | |
asset_content_type: application/octet-stream | |
max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted |