* ci: Update node coverage badge to work without games.txt
Fixes#155 using a new node script that should be more robust than the
old shell script.
* ci: Change badge cron time to less common time
By doing at a less common time we should reduce action time usage as
the runners will be under less load.
* Add/Update badge
* ci: Improve node-badge script
Co-Authored-By: CosminPerRam <cosmin.p@live.com>
* ci: Run node badge action if script changes
* ci: Update node badge path for workspaces
* ci: Revert loading games from index in node badge script
---------
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: CosminPerRam <cosmin.p@live.com>
* [CI] Fix permissions on guest prs
* Revert last commit
* Revert last commit
* Don't specify branch name in pr target
* Properly space on line
* Specify branch
* Add quotes to labeler points
* Remove the quotes on files in labeler.yml
* Add rich error type with source and backtrace
Adds a rich error type that will take a backtrace and allow capturing
the source of the error. The best way to use this is with the included
helpers that will automatically capture the backtrace and convert the
source error:
```
GDRichError::packet_bad_from_into("Reason packet was bad")
```
* [Crate] Bump MSRV to 1.65.0
This is required for backtraces in rich errors.
* Remove leftover debug logging
* [Errors] Replace variant overloads with single .rich method on kind enum
This overhaul replaces the exhaustive impls of each variant as multiple
methods on the rich error type with a singular .rich() method on the
kind enum. This consumes the variant and converts it to a rich error
with a source (.into() can be used if a source is not needed).
I also took the liberty of replacing all usages with the this new method
as I saw fit (adding various error messages) and converting a few
PacketBad errors to TypeParse errors when they are the result of parse
failing.
* Fix problem with rustdoc
* Remove BadGame's owned string
* Rename GDError to GDErrorKind
* Rename GDRichError to GDError
* Remove error impl from GDErrorKind
* Fix tests not passing
* Use error context everywhere map_err is used
* Improve GDError display formatter
* Add tests for new error type
* [CI] Improve checks
- Adds .actrc so CI actions can be tested locally
- Adds testing for variants of features so changes that break feature
sets like disabling games can be caught
- Adds more of the CI tests to pre-commit
* [CI] Add more feature sets to test
* [CI] Check github actions before comitting
Requires act: https://github.com/nektos/act
* [CI] Add caching between builds
* [CI] Add caching everywhere
* [CI] Add more feature tests
* [CI] Add YAML schemas
* [CI] Disable audit when running locally
This is needed because the audit action requires a GITHUB_TOKEN which we
don't have when running locally.
* [CI] Move clippy to own job and use action that annotates PRs
Using actions-rs/clippy-check means that PRs will problems will
automatically have the relevant lines annotated
* [CI] Don't unnecessarily cache targets for fmt