Peternator7 / strum

A small rust library for adding custom derives to enums
https://crates.io/crates/strum
MIT License
1.81k stars 152 forks source link

ci: add github workflows #271

Closed joshka closed 6 months ago

joshka commented 1 year ago

This PR adds Github CI workflows to replace appveyor.

@jonhoo's ci conf repo has a reasonable stub of CI workflows and configuration for rust crates. It includes config for dependabot, codecov.io, and workflows for checking format and clippy, testing on multiple OSes, determining the minimum supported rust version, checking for problems with minimal versions, and runs scheduled tasks to ensure that new rust versions and dependencies do not break this crate.

This is a merge using the --allow-unrelated-histories flag, that brings in the entire history of that repo. This enables the CI to be later merged if configuration changes are made upstream.

I've got a PR out against the upstream repo that adds a bit more documentation about each workflow https://github.com/jonhoo/rust-ci-conf/pull/10

Review Approach

When reviewing this change, there's two parts to consider - the history pulled in from the upstream repo which should probably not be squashed (and which contains the bulk of the implementation.

And then the changes specifically for strum which probably can be squashed into a single commit (though I have not yet done so as the commit history is relevant to understanding why specific choices were made in configuring CI

Concerns:

Testing

I ran this pull request in my own fork at https://github.com/joshka/strum/pull/1/commits with success (except for the 1.32.0 issue on Macs)

joshka commented 6 months ago

Closing this out as too complex to solve the problem here. Will make a clearer shorter PR that is easier to consume for CI.