Files
OrcaSlicer/scripts/linux.d/debian

68 lines
1.5 KiB
Plaintext
Raw Normal View History

#!/bin/bash
REQUIRED_DEV_PACKAGES=(
autoconf
build-essential
cmake
eglexternalplatform-dev
extra-cmake-modules
file
Build and run a test in CI (#10835) * Actually build tests on Linux and allow RelWithDebInfo They weren't being built. Also cleaned up --config flags which enables RelWithDebInfo on Linux, now that Ninja Multi-Config is used, it's quite trivial. * Remove obsolete Slic3r Perl tests The directory doesn't exist, they're already gone. * Add GH job for running unit tests * Move unit test execution to script and upload test results * Don't run scheduled builds on forks * Only deploy from SoftFever/OrcaSlicer Will stop failures on forks * Use artifact instead of cache * Tweak archive and checkout paths Keep getting error: ``` /home/runner/work/_temp/902d0a0a-6d23-4fe0-a643-8b5cc4efd25b.sh: line 1: scripts/run_unit_tests.sh: Permission denied ``` That seems to be because I didn't use actions/checkout, the working directory is never setup correctly? So using checkout to get scripts directory. Unsure if archive will preserve the `build/tests/` prefix; will find out soon. * Use tar to package directory and write results to correct directory Tar preserves filenames and directory structure * Use tar -xvf not -xzf Muscle memory failed me * Add testing wiki page * Save test logs on failure and choose correct directory for junit * Consolidate apt install steps, use for unit tests too, disable non-Linux builds Temporarily disable non-Linux builds to save time while developing this. Cache the apt packages to save some time searching apt and downloading them again (though I realize this is also downloading, but hopefully by something closer and faster). Remove all the redundant packages listed in the workflow and debian distribution lists. * Remove apt install steps from workflow `./build-linux.sh -u` is supposed to install all needed packages, so it should build without needing anything besides that. If I'm wrong this commit will be dropped. * Need composite action checked out locally * Re-enable non-Linux builds now that it's working * Skip a deploy and a notarize in forks They only succeed in the main repo. * Fix multi-build for non-Release builds: share CONFIG * Correct build errors in unit tests Indeterminate method signatures resolved. Updated script to build all the tests. * Fix -g vs -e for RelWithDebInfo * Change CONFIG->BUILD_CONFIG Missed one in prior commits * Reduce wasteful redundant build artifact copies 1. Don't copy the artifacts and leave them; make a hard link first; only make a copy only while creating AppImage. 2. Don't tar up the `package` directory; nothing uses this tar AFAICT * Fix directory name * Change jigsaw auth test URLs to httpbin.org No idea why the basic auth doesn't work, but it doesn't work for `curl` CLI either. This does. * Remove force-build It got reverted at https://github.com/SoftFever/OrcaSlicer/commit/e3f049829bff3ac4de9fd271768948efc150e4c3 for unknown reasons. * Add timeout for unit tests in GitHub Actions workflow (#11146) --------- Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-10-29 05:56:06 -07:00
g++
gettext
git
gstreamer1.0-gtk3
libcurl4-openssl-dev
libdbus-1-dev
libglew-dev
libgstreamerd-3-dev
libgtk-3-dev
libmspack-dev
libsecret-1-dev
libspnav-dev
libssl-dev
libtool
libudev-dev
2026-03-19 21:42:57 +08:00
clang
lld
ninja-build
texinfo
wget
)
if [[ -n "$UPDATE_LIB" ]]
then
# shellcheck source=/dev/null
source /etc/os-release
if [ "${ID}" == "ubuntu" ] && [ -n "${VERSION_ID}" ]; then
# It's ubuntu and we have a VERSION_ID like "24.04".
if dpkg --compare-versions "${VERSION_ID}" ge 22 && dpkg --compare-versions "${VERSION_ID}" lt 24 ;
then
# Some extra packages needed on Ubuntu 22.x and 23.x:
Build and run a test in CI (#10835) * Actually build tests on Linux and allow RelWithDebInfo They weren't being built. Also cleaned up --config flags which enables RelWithDebInfo on Linux, now that Ninja Multi-Config is used, it's quite trivial. * Remove obsolete Slic3r Perl tests The directory doesn't exist, they're already gone. * Add GH job for running unit tests * Move unit test execution to script and upload test results * Don't run scheduled builds on forks * Only deploy from SoftFever/OrcaSlicer Will stop failures on forks * Use artifact instead of cache * Tweak archive and checkout paths Keep getting error: ``` /home/runner/work/_temp/902d0a0a-6d23-4fe0-a643-8b5cc4efd25b.sh: line 1: scripts/run_unit_tests.sh: Permission denied ``` That seems to be because I didn't use actions/checkout, the working directory is never setup correctly? So using checkout to get scripts directory. Unsure if archive will preserve the `build/tests/` prefix; will find out soon. * Use tar to package directory and write results to correct directory Tar preserves filenames and directory structure * Use tar -xvf not -xzf Muscle memory failed me * Add testing wiki page * Save test logs on failure and choose correct directory for junit * Consolidate apt install steps, use for unit tests too, disable non-Linux builds Temporarily disable non-Linux builds to save time while developing this. Cache the apt packages to save some time searching apt and downloading them again (though I realize this is also downloading, but hopefully by something closer and faster). Remove all the redundant packages listed in the workflow and debian distribution lists. * Remove apt install steps from workflow `./build-linux.sh -u` is supposed to install all needed packages, so it should build without needing anything besides that. If I'm wrong this commit will be dropped. * Need composite action checked out locally * Re-enable non-Linux builds now that it's working * Skip a deploy and a notarize in forks They only succeed in the main repo. * Fix multi-build for non-Release builds: share CONFIG * Correct build errors in unit tests Indeterminate method signatures resolved. Updated script to build all the tests. * Fix -g vs -e for RelWithDebInfo * Change CONFIG->BUILD_CONFIG Missed one in prior commits * Reduce wasteful redundant build artifact copies 1. Don't copy the artifacts and leave them; make a hard link first; only make a copy only while creating AppImage. 2. Don't tar up the `package` directory; nothing uses this tar AFAICT * Fix directory name * Change jigsaw auth test URLs to httpbin.org No idea why the basic auth doesn't work, but it doesn't work for `curl` CLI either. This does. * Remove force-build It got reverted at https://github.com/SoftFever/OrcaSlicer/commit/e3f049829bff3ac4de9fd271768948efc150e4c3 for unknown reasons. * Add timeout for unit tests in GitHub Actions workflow (#11146) --------- Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-10-29 05:56:06 -07:00
REQUIRED_DEV_PACKAGES+=(curl libfuse-dev m4)
fi
fi
if [[ -n "$BUILD_DEBUG" ]]
then
REQUIRED_DEV_PACKAGES+=(libssl-dev libcurl4-openssl-dev)
fi
# check which version of libwebkit2gtk is available
if [ "$(apt show --quiet libwebkit2gtk-4.0-dev 2>/dev/null)" != "" ]
then
REQUIRED_DEV_PACKAGES+=(libwebkit2gtk-4.0-dev)
else
REQUIRED_DEV_PACKAGES+=(libwebkit2gtk-4.1-dev)
fi
# install them all at once
sudo apt update
sudo apt install -y "${REQUIRED_DEV_PACKAGES[@]}"
echo -e "done\n"
exit 0
fi
export FOUND_GTK3_DEV
FOUND_GTK3_DEV=$(dpkg -l libgtk* | grep gtk-3-dev || echo '')