275f3a7f1e
* 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>
65 lines
1.5 KiB
Bash
65 lines
1.5 KiB
Bash
#!/bin/bash
|
|
|
|
REQUIRED_DEV_PACKAGES=(
|
|
autoconf
|
|
build-essential
|
|
cmake
|
|
eglexternalplatform-dev
|
|
extra-cmake-modules
|
|
file
|
|
g++
|
|
gettext
|
|
git
|
|
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
|
|
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:
|
|
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 '')
|