-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Arm64 version of orcaslicer #8418
base: main
Are you sure you want to change the base?
Changes from all commits
179535e
377b25c
f99064c
0d8d5f6
616385f
0447e7c
a050361
12d3e79
aed4999
2514523
fb73892
9ac86cd
83c349a
1d16a7f
be504ba
efb886b
a63babf
0fdebd9
8b4ea9c
6f50fc4
40dd832
d7bea64
42d2708
a7827bc
c5490d8
3af0cb8
c5e24c2
1d7b85e
9658ff0
ff8f91c
2ff8798
739812a
75c803e
751fb9c
bc568b0
3e3f536
e5ff29c
db4df5c
5175d45
a7b73bd
ba6ab8e
7af3e29
488deb1
d8a1a49
5736d84
603ee69
3e35bdc
72a4e11
dea7c44
685ce10
e104297
a9daecf
af9d204
459a404
f25e5d9
75b6007
e2d6d9a
b3bbdfd
045869b
770f800
e294ea2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
name: Build ARM64 Dependencies | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
cache-key: | ||
description: 'Cache key for dependencies' | ||
required: true | ||
default: 'arm64-deps-v1' | ||
type: string | ||
cache-path: | ||
description: 'Path to cache dependencies' | ||
required: true | ||
default: 'deps/build' | ||
type: string | ||
os: | ||
description: 'Operating system' | ||
required: true | ||
default: 'ubuntu-24.04-arm' | ||
type: string | ||
workflow_call: | ||
inputs: | ||
cache-key: | ||
required: true | ||
type: string | ||
cache-path: | ||
required: true | ||
type: string | ||
os: | ||
required: true | ||
type: string | ||
|
||
jobs: | ||
build_deps: | ||
runs-on: ubuntu-24.04-arm | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
lfs: 'true' | ||
|
||
- name: load cached deps | ||
uses: actions/cache@v4 | ||
with: | ||
path: ${{ inputs.cache-path }} | ||
key: ${{ inputs.cache-key }} | ||
|
||
- uses: lukka/get-cmake@latest | ||
with: | ||
cmakeVersion: "~3.28.0" | ||
|
||
- name: Get the date | ||
run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_ENV | ||
shell: bash | ||
|
||
- name: Install Build Dependencies | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y cmake git g++ build-essential libgl1-mesa-dev m4 \ | ||
libwayland-dev libxkbcommon-dev wayland-protocols extra-cmake-modules pkgconf \ | ||
libglu1-mesa-dev libcairo2-dev libgtk-3-dev libsoup2.4-dev libwebkit2gtk-4.1-dev \ | ||
libgstreamer1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-base1.0-dev \ | ||
gstreamer1.0-plugins-bad libosmesa6-dev wget sudo autoconf curl libunwind-dev texinfo | ||
|
||
- name: Build Dependencies | ||
working-directory: ${{ github.workspace }} | ||
run: | | ||
mkdir -p ${{ github.workspace }}/deps/build | ||
mkdir -p ${{ github.workspace }}/deps/build/destdir | ||
sudo ./BuildLinux.sh -ur | ||
sudo chown $USER -R ./ | ||
./BuildLinux.sh -dr | ||
cd deps/build | ||
tar -czvf OrcaSlicer_dep_ubuntu_$(date +"%Y%m%d").tar.gz destdir | ||
|
||
- name: Upload Ubuntu artifacts | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: OrcaSlicer_dep_ubuntu_2404_${{ env.date }} | ||
path: ${{ github.workspace }}/deps/build/OrcaSlicer_dep_ubuntu_*.tar.gz | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,32 +3,32 @@ name: Build all | |
on: | ||
push: | ||
branches: | ||
- main | ||
- release/* | ||
- main | ||
- release/* | ||
paths: | ||
- 'deps/**' | ||
- 'src/**' | ||
- '**/CMakeLists.txt' | ||
- 'version.inc' | ||
- 'localization/**' | ||
- 'resources/**' | ||
- ".github/workflows/build_*.yml" | ||
- 'deps/**' | ||
- 'src/**' | ||
- '**/CMakeLists.txt' | ||
- 'version.inc' | ||
- 'localization/**' | ||
- 'resources/**' | ||
- ".github/workflows/build_*.yml" | ||
|
||
pull_request: | ||
branches: | ||
- main | ||
- release/* | ||
- 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 | ||
- 'deps/**' | ||
- 'src/**' | ||
- '**/CMakeLists.txt' | ||
- 'version.inc' | ||
- ".github/workflows/build_*.yml" | ||
- 'BuildLinux.sh' | ||
- 'build_release_vs2022.bat' | ||
- 'build_release_macos.sh' | ||
|
||
workflow_dispatch: | ||
inputs: | ||
build-deps-only: | ||
description: 'Only build dependencies (bypasses caching)' | ||
|
@@ -38,7 +38,6 @@ on: | |
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
cancel-in-progress: true | ||
|
||
|
||
jobs: | ||
build_all: | ||
|
@@ -48,8 +47,13 @@ jobs: | |
matrix: | ||
include: | ||
- os: ubuntu-20.04 | ||
arch: x86_64 | ||
- os: ubuntu-24.04 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @CodeMasterCody3D what is the reason for removing 24.04 ? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It was failing and just switched to 22.04 instead. I didn't dig further just decided to use what I had figured out so I could get this code to you guys that are way smarter than me. I basically found out about arm runners And decided to give it a shot. I am not a programmer And I used ChatGPT to do lots of modifying and testing them i decided to try this myself and it was an easy modification getting the arm runner to work but I used ChatGPT to do the modification for me. I am a super noob. I was just determined to get arm64 version of orcaslicer built using the runners so it would be in the upstream. Sorry for the lengthy explanation. You can add it back I just didn't wanna deal with it I forgot to mention I had to add this to it as well to make the build work. sudo apt-get -y update |
||
arch: x86_64 | ||
- os: ubuntu-24.04-arm | ||
arch: arm64 | ||
- os: windows-latest | ||
arch: x86_64 | ||
- os: macos-14 | ||
arch: x86_64 | ||
- os: macos-14 | ||
|
@@ -60,51 +64,99 @@ jobs: | |
arch: ${{ matrix.arch }} | ||
build-deps-only: ${{ inputs.build-deps-only || false }} | ||
secrets: inherit | ||
|
||
flatpak: | ||
|
||
name: "Flatpak" | ||
|
||
runs-on: ubuntu-latest | ||
|
||
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 | ||
|
||
steps: | ||
|
||
- name: "Remove unneeded stuff to free disk space" | ||
|
||
run: | ||
|
||
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 | ||
|
||
- uses: flatpak/flatpak-github-actions/flatpak-builder@master | ||
|
||
with: | ||
|
||
bundle: OrcaSlicer-Linux-flatpak_${{ env.ver }}.flatpak | ||
|
||
manifest-path: flatpak/io.github.softfever.OrcaSlicer.yml | ||
|
||
cache: true | ||
|
||
upload-artifact: false | ||
|
||
- 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess you ran a code formatter against these files which does not preserve comments.
Generally speaking, try avoid doing unnecessary changes to the file, especially formatting the entire file. It's usually acceptable if you only reformat the part that you changed (with that said, still it's better to follow the code style of the rest of the part if possible). Otherwise the PR will be hard to review with all these unrelated destractions, and also this could create unnecessary conflicts to others.