Bug 474263 - Missing --no-stop-on-failure option for the case when you have config file with `stop-on-failure true`
Summary: Missing --no-stop-on-failure option for the case when you have config file wi...
Status: RESOLVED FIXED
Alias: None
Product: kdesrc-build
Classification: Developer tools
Component: documentation (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Michael Pyne
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-09-07 15:36 UTC by Andrew Shark
Modified: 2024-05-10 09:17 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Shark 2023-09-07 15:36:13 UTC
I have failure when building a dependency for module, and kdesrc-build stops after it.

The [documentation](https://docs.kde.org/trunk5/en/kdesrc-build/kdesrc-build/supported-cmdline-params.html) assumes that the kdesrc-build will not stop on failure. And if you want it to stop, you specify --stop-on-failure.

I think it got broken. But maybe the default was changed without documentation change, and no opposite option is provided.

SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. Have some dependency failing for some module.
    I am building `kio` with dependencies, and one of the dependencies (`kcolorscheme`) is failing to build.
    You can break building manually, for example by adding some bad option to config, or by modifying the code so it does not compile anymore.
2. Run `kdesrc-build kio --include-dependencies`.
3. Wait for the output.

OBSERVED RESULT
When the broken dependency fails, kdesrc-build stops:
```
Building karchive from frameworks (10/30)
        ...
        Compiling... succeeded (after 1 second)
        Installing.. succeeded (after 0 seconds)

Building kcolorscheme from frameworks (11/30)
        ...
        Compiling... failed (after 1 second)

kcolorscheme didn't build, stopping here.
...
Your logs are saved in file://...
```

EXPECTED RESULT
```
Building karchive from frameworks (10/30)
        ...
Building kcolorscheme from frameworks (11/30)
        Compiling... failed (after 1 second)
Building kconfigwidgets from frameworks (12/30)
        ...
```

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 5.27.7
KDE Frameworks Version: 5.109.0
Qt Version: 5.15.10
kdesrc-build: 22.07 (v22.07-304-gf7968b4)

ADDITIONAL INFORMATION
As a workaround, after such failure I manually run `kdesrc-build kio --include-dependencies --resume-after kcolorscheme`.
Comment 1 Andrew Shark 2023-09-11 12:26:35 UTC
I have found out that I had `stop-on-failure true` in the `kdesrc-buildrc` file. But I did not changed that. After I change it to false, the kdesrc-build behaves as expected.

I see, the FirstRun.pm module prepares a file with this option turned to true. https://invent.kde.org/sdk/kdesrc-build/-/blob/c0e1620d38e413bda66d6e759a1512975a6d413d/modules/ksb/FirstRun.pm#L1243

But [documentation for config file](https://docs.kde.org/trunk5/en/kdesrc-build/kdesrc-build/conf-options-table.html#conf-stop-on-failure) says
> This option is off by default.

In previous comment I was wrong, the [documentation for cli](https://docs.kde.org/trunk5/en/kdesrc-build/kdesrc-build/supported-cmdline-params.html#cmdline-stop-on-failure) does not assume anything. But still it lacks the opposite option `--no-stop-on-failure`.

We need to either change the doc or change the value in code. My suggestion it to change value in code, because it is useful to not stop on failure.
Comment 2 Bug Janitor Service 2023-09-11 12:50:39 UTC
A possibly relevant merge request was started @ https://invent.kde.org/sdk/kdesrc-build/-/merge_requests/284
Comment 3 Nate Graham 2023-09-11 16:51:08 UTC
Git commit a49e8272602fb85474a352d4d4fa363711aaa70b by Nate Graham, on behalf of Andrew Shark.
Committed on 11/09/2023 at 18:51.
Pushed by ngraham into branch 'master'.

Comply documentation for stop-on-failure conf option

The [doc](https://docs.kde.org/trunk5/en/kdesrc-build/kdesrc-build/conf-options-table.html#conf-stop-on-failure) says it is off by default.

M  +1    -2    doc/index.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/a49e8272602fb85474a352d4d4fa363711aaa70b
Comment 4 Bug Janitor Service 2023-11-18 18:56:11 UTC
A possibly relevant merge request was started @ https://invent.kde.org/sdk/kdesrc-build/-/merge_requests/327
Comment 5 Andrew Shark 2023-11-18 19:05:16 UTC
A quick tip for step 1 on how to intentionally break successfullness of some module building:

```kdesrc-buildrc
# intentionally break module
options kcolorscheme
    custom-build-command bad
end options
```
Will fail with the message " * Unable to find the bad executable!".
Comment 6 Joshua Goins 2023-11-20 16:03:43 UTC
Git commit c300de55cd6b4519192ab79800d8cf78e0d98bb1 by Joshua Goins, on behalf of Andrew Shark.
Committed on 20/11/2023 at 17:03.
Pushed by redstrate into branch 'master'.

Indicate the existence of --no-stop-on-failure flag

M  +1    -5    README.md
M  +1    -1    completions/zsh/_kdesrc-build
M  +2    -2    doc/README.md
M  +11   -17   doc/index.docbook
M  +3    -8    doc/man-kdesrc-build.1.docbook
M  +0    -2    modules/ksb/Cmdline.pm

https://invent.kde.org/sdk/kdesrc-build/-/commit/c300de55cd6b4519192ab79800d8cf78e0d98bb1
Comment 7 Nate Graham 2024-05-10 09:16:56 UTC
Git commit bd82b2f32eff7e4f53b1c45d81c89866164ee178 by Nate Graham, on behalf of Andrew Shark.
Committed on 11/09/2023 at 16:51.
Pushed by ashark into branch 'docbook_historied_per_file'.

Comply documentation for stop-on-failure conf option

The [doc](https://docs.kde.org/trunk5/en/kdesrc-build/kdesrc-build/conf-options-table.html#conf-stop-on-failure) says it is off by default.

Original commit: a49e8272
https://invent.kde.org/sdk/kdesrc-build/-/commit/a49e8272602fb85474a352d4d4fa363711aaa70b

M  +1    -2    doc/kdesrc-buildrc/conf-options-table.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/bd82b2f32eff7e4f53b1c45d81c89866164ee178
Comment 8 Joshua Goins 2024-05-10 09:17:04 UTC
Git commit 1860f30bf92298ead7d355c29ca5e91135d7a0e5 by Joshua Goins, on behalf of Andrew Shark.
Committed on 20/11/2023 at 16:03.
Pushed by ashark into branch 'docbook_historied_per_file'.

Indicate the existence of --no-stop-on-failure flag

Original commit: c300de55
https://invent.kde.org/sdk/kdesrc-build/-/commit/c300de55cd6b4519192ab79800d8cf78e0d98bb1

M  +4    -10   doc/cmdline/supported-cmdline-params.docbook
M  +2    -2    doc/getting-started/building-and-troubleshooting.docbook
M  +2    -2    doc/kdesrc-buildrc/conf-options-table.docbook
M  +3    -3    doc/using-kdesrc-build/advanced-features.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/1860f30bf92298ead7d355c29ca5e91135d7a0e5