ENH: add the linux build action to github
This commit is contained in:
parent
5a42590d73
commit
c0791f0fdd
3 changed files with 64 additions and 2 deletions
44
.github/workflows/build_linux.yml
vendored
Normal file
44
.github/workflows/build_linux.yml
vendored
Normal file
|
@ -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'
|
|
@ -28,7 +28,7 @@ function check_available_memory_and_disk() {
|
||||||
}
|
}
|
||||||
|
|
||||||
unset name
|
unset name
|
||||||
while getopts ":dsiuhgb" opt; do
|
while getopts ":dsiuhgbr" opt; do
|
||||||
case ${opt} in
|
case ${opt} in
|
||||||
u )
|
u )
|
||||||
UPDATE_LIB="1"
|
UPDATE_LIB="1"
|
||||||
|
@ -48,6 +48,9 @@ while getopts ":dsiuhgb" opt; do
|
||||||
g )
|
g )
|
||||||
FOUND_GTK3=""
|
FOUND_GTK3=""
|
||||||
;;
|
;;
|
||||||
|
r )
|
||||||
|
SKIP_RAM_CHECK="1"
|
||||||
|
;;
|
||||||
h ) echo "Usage: ./BuildLinux.sh [-i][-u][-d][-s][-b][-g]"
|
h ) echo "Usage: ./BuildLinux.sh [-i][-u][-d][-s][-b][-g]"
|
||||||
echo " -i: Generate appimage (optional)"
|
echo " -i: Generate appimage (optional)"
|
||||||
echo " -g: force gtk2 build"
|
echo " -g: force gtk2 build"
|
||||||
|
@ -55,6 +58,7 @@ while getopts ":dsiuhgb" opt; do
|
||||||
echo " -d: build deps (optional)"
|
echo " -d: build deps (optional)"
|
||||||
echo " -s: build bambu-studio (optional)"
|
echo " -s: build bambu-studio (optional)"
|
||||||
echo " -u: only update clock & dependency packets (optional and need sudo)"
|
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 "For a first use, you want to 'sudo ./BuildLinux.sh -u'"
|
||||||
echo " and then './BuildLinux.sh -dsi'"
|
echo " and then './BuildLinux.sh -dsi'"
|
||||||
exit 0
|
exit 0
|
||||||
|
@ -71,6 +75,7 @@ then
|
||||||
echo " -d: build deps (optional)"
|
echo " -d: build deps (optional)"
|
||||||
echo " -s: build bambu-studio (optional)"
|
echo " -s: build bambu-studio (optional)"
|
||||||
echo " -u: only update clock & dependency packets (optional and need sudo)"
|
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 "For a first use, you want to 'sudo ./BuildLinux.sh -u'"
|
||||||
echo " and then './BuildLinux.sh -dsi'"
|
echo " and then './BuildLinux.sh -dsi'"
|
||||||
exit 0
|
exit 0
|
||||||
|
@ -153,7 +158,10 @@ then
|
||||||
mkdir deps/build
|
mkdir deps/build
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if ! [[ -n "$SKIP_RAM_CHECK" ]]
|
||||||
|
then
|
||||||
check_available_memory_and_disk
|
check_available_memory_and_disk
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ -n "$BUILD_DEPS" ]]
|
if [[ -n "$BUILD_DEPS" ]]
|
||||||
then
|
then
|
||||||
|
|
|
@ -7,6 +7,10 @@ APP_IMAGE="@SLIC3R_APP_KEY@_ubu64.AppImage"
|
||||||
wget ${APPIMAGETOOLURL} -O ../appimagetool.AppImage
|
wget ${APPIMAGETOOLURL} -O ../appimagetool.AppImage
|
||||||
chmod +x ../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@
|
sed -i -e 's#/usr#././#g' bin/@SLIC3R_APP_CMD@
|
||||||
mv @SLIC3R_APP_CMD@ AppRun
|
mv @SLIC3R_APP_CMD@ AppRun
|
||||||
chmod +x AppRun
|
chmod +x AppRun
|
||||||
|
@ -25,6 +29,12 @@ MimeType=model/stl;application/vnd.ms-3mfdocument;application/prs.wavefront-obj;
|
||||||
EOF
|
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}
|
mv @SLIC3R_APP_KEY@-x86_64.AppImage ${APP_IMAGE}
|
||||||
chmod +x ${APP_IMAGE}
|
chmod +x ${APP_IMAGE}
|
||||||
|
|
Loading…
Reference in a new issue