Commit Graph
8 Commits
Author SHA1 Message Date
coryrc c106350143 Cancel root jobs (#11192)
Maybe this will help cancel happen faster.
2025-11-01 20:24:35 +08:00
coryrcandSoftFever 275f3a7f1e 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 20:56:06 +08:00
coryrc b56cefc4b7 Add a once-daily Build All which skips caches (#10731)
* Add a once-daily Build All which skips caches

When an external dependency breaks a build, ensures a record exists of
it happening.

Half of #10404

* `inputs` is plural
2025-09-21 20:08:32 +08:00
coryrcandSoftFever 7aa3ce8a4d Shellcheck everything (#10730)
* Shellcheck all shell scripts

* Implement Shellcheck's recommendations

* Shellcheck the distribution-specific files

* Include the distro scripts to trigger action

* Fix array usage (hopefully)

* Use single-quote string

TIL: single quote string in yaml treats everything as literal, but
double quote allows backslash escaping.

* Make all cmake commands use set+-x dance and fix macos getopts line

Make Claude happy

getopts has colon after a command which takes an argument

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-09-20 09:12:31 +08:00
coryrc 94cc5465f1 Fix variable name comment and message (#10302)
As you can see, it's checkin the local variable
`custom_gcode_placeholders` which comes from
`custom_gcode_specific_placeholders()` which is:

```
const std::map<t_custom_gcode_key, t_config_option_keys>& custom_gcode_specific_placeholders()
{
    return s_CustomGcodeSpecificPlaceholders;
}
```

not s_CustomGcodeSpecificOptions
2025-09-19 22:41:25 +08:00
coryrc ca46e06966 Add Assign Issue workflow (#10408)
Allow users to assign issues to themselves.

I don't know if its comments (i.e. unassigning) affects orca bot's
inactivity and stale. Probably. I didn't see a way for actions/stale
to exempt particular comments. This is set for 30 days and stale for
90 days, so if people are using this the stale timing can jump up to
120 days.
2025-08-26 22:35:05 +08:00
coryrc 09034d87b7 Run shellcheck on build_linux.sh and add it to workflows (#10317)
* Shellcheck on build_linux.sh and tiny refactor

`shellcheck -e SC1090 build_linux.sh` and fixed the issues.

Also fixed the usage command to return an error, simplify directory
creation to use `mkdir -p`, and made printing of the cmake commands
consistent instead of having three different ways of doing it.

* Reorder functions in more pleasing way

* Add shellcheck to workflows

This is the beginning of adding some safety nets for making
changes. Currently it just runs shellcheck against `build_linux.sh`.

You can see it working at
https://github.com/coryrc/OrcaSlicer/actions/workflows/shellcheck.yml
I forked and tested it running in PRs and against pushes to HEAD.

* Rerun shellcheck

Missed quotes on the merge
2025-08-24 19:26:14 +08:00
coryrc 53440fd390 Don't overwrite config if the new one was not successfully written (#10284)
* Don't overwrite config if the new one was not successfully written

The errors weren't being checked, now they are.

Fixes #10283
2025-08-11 09:59:01 +08:00