Skip to content

Commit

Permalink
ENH: add the linux build action to github
Browse files Browse the repository at this point in the history
  • Loading branch information
lanewei120 committed Jan 31, 2023
1 parent 5a42590 commit c0791f0
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 2 deletions.
44 changes: 44 additions & 0 deletions .github/workflows/build_linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Build Linux

on: [push, pull_request]

jobs:
appimage-builder:
name: Linux AppImage Build

runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install cmake libgl1-mesa-dev libgtk-3-dev libxkbcommon-dev libunwind-dev libfuse2 -y
- name: Install dependencies from BuildLinux.sh
shell: bash
run: sudo ./BuildLinux.sh -ur
- name: Fix permissions
shell: bash
run: sudo chown $USER -R ./
- name: Build deps
id: cache_deps
uses: actions/cache@v3
env:
cache-name: ${{ runner.os }}-cache-bambustudio_deps_x64
with:
path: ${{ github.workspace }}/deps/build/destdir
key: build-${{ env.cache-name }}

- if: ${{ steps.cache_deps.outputs.cache-hit != 'true' }}
name: Build deps
working-directory: ${{ github.workspace }}
continue-on-error: true
run: ./BuildLinux.sh -dsr

- name: Build Studio
shell: bash
run: ./BuildLinux.sh -ir
- uses: actions/upload-artifact@v3
with:
name: BambuStudio_Linux
path: './build/BambuStudio_ubu64.AppImage'
10 changes: 9 additions & 1 deletion BuildLinux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ function check_available_memory_and_disk() {
}

unset name
while getopts ":dsiuhgb" opt; do
while getopts ":dsiuhgbr" opt; do
case ${opt} in
u )
UPDATE_LIB="1"
Expand All @@ -48,13 +48,17 @@ while getopts ":dsiuhgb" opt; do
g )
FOUND_GTK3=""
;;
r )
SKIP_RAM_CHECK="1"
;;
h ) echo "Usage: ./BuildLinux.sh [-i][-u][-d][-s][-b][-g]"
echo " -i: Generate appimage (optional)"
echo " -g: force gtk2 build"
echo " -b: build in debug mode"
echo " -d: build deps (optional)"
echo " -s: build bambu-studio (optional)"
echo " -u: only update clock & dependency packets (optional and need sudo)"
echo " -r: skip free ram check (low ram compiling)"
echo "For a first use, you want to 'sudo ./BuildLinux.sh -u'"
echo " and then './BuildLinux.sh -dsi'"
exit 0
Expand All @@ -71,6 +75,7 @@ then
echo " -d: build deps (optional)"
echo " -s: build bambu-studio (optional)"
echo " -u: only update clock & dependency packets (optional and need sudo)"
echo " -r: skip free ram check (low ram compiling)"
echo "For a first use, you want to 'sudo ./BuildLinux.sh -u'"
echo " and then './BuildLinux.sh -dsi'"
exit 0
Expand Down Expand Up @@ -153,7 +158,10 @@ then
mkdir deps/build
fi

if ! [[ -n "$SKIP_RAM_CHECK" ]]
then
check_available_memory_and_disk
fi

if [[ -n "$BUILD_DEPS" ]]
then
Expand Down
12 changes: 11 additions & 1 deletion src/platform/unix/build_appimage.sh.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ APP_IMAGE="@SLIC3R_APP_KEY@_ubu64.AppImage"
wget ${APPIMAGETOOLURL} -O ../appimagetool.AppImage
chmod +x ../appimagetool.AppImage

if [ -f /.dockerenv ] ; then # Only run if inside of a Docker Container
sed '0,/AI\x02/{s|AI\x02|\x00\x00\x00|}' -i ../appimagetool.AppImage
fi

sed -i -e 's#/usr#././#g' bin/@SLIC3R_APP_CMD@
mv @SLIC3R_APP_CMD@ AppRun
chmod +x AppRun
Expand All @@ -25,6 +29,12 @@ MimeType=model/stl;application/vnd.ms-3mfdocument;application/prs.wavefront-obj;
EOF


../appimagetool.AppImage . $([ ! -z "${container}" ] && echo '--appimage-extract-and-run')

if [ -f /.dockerenv ] ; then # Only run if inside of a Docker Container
../appimagetool.AppImage --appimage-extract-and-run . $([ ! -z "${container}" ] && echo '--appimage-extract-and-run')
else
../appimagetool.AppImage . $([ ! -z "${container}" ] && echo '--appimage-extract-and-run')
fi

mv @SLIC3R_APP_KEY@-x86_64.AppImage ${APP_IMAGE}
chmod +x ${APP_IMAGE}

0 comments on commit c0791f0

Please sign in to comment.