This sets the groundwork for making Radarr guide data available for
other usages beyond syncing to Radarr, such as spitting out information
to the console.
When you specify an empty object in YAML, like:
```
quality_profiles:
```
This causes that respective object/collection to be assigned `null`.
YamlDotNet feature request covering this behavior can be found
[here][1].
Fixes#89.
[1]: https://github.com/aaubry/YamlDotNet/issues/443
If scores are missing from a CF in either the guide or in the YAML
config, that CF is still synced but no score will be set in any quality
profiles.
The warning message for this was a bit misleading. It made users think
the CF itself would not be synced. The CF is always synced.
The message has been reworded to make this more clear and it is
downgraded from Warning to Informational.
Reason: Users may use a combination of YAML files, some may not have
both radarr and sonarr config sections in them. We should gracefully
pass over these to allow other configs to be processed.
Should the final list still be empty, the program can gracefully exit
having done no work.
The matrix build for published platforms is getting extremely large.
It's no longer efficient or productive to run the unit tests during that
job. Instead, a much smaller job is now run prior to the Build job for
running tests.
The non-root user and group were still being created in the Dockerfile,
which means that if the PUID or PGID were modified, those changes would
not be processed.
This change completely removes the `adduser` / `addgroup` commands and
instead the user spec is passed directly to `su-exec`.
There are only two cases we care about docker builds:
- On branches (not tags): To verify that we didn't break the docker
build.
- When a Github Release is published: To build & publish an official
docker image.
In the second case, the build should happen after the Github Release is
published, NOT when a tag is pushed.
Specify `RECYCLARR_APP_DATA` so that every command inherits and uses
that path for its application data. This behaves the same as if you had
specified the `--app-data` option for every invocation of Recyclarr.