crumblingstatue / hexerator

Versatile GUI hex editor focused on binary file exploration and aiding pattern recognition
https://crumblingstatue.github.io/hexerator-book/
Apache License 2.0
298 stars 5 forks source link

Add Continuous integration #36

Open AliSajid opened 1 year ago

AliSajid commented 1 year ago

I have a pretty decent CI System built in my tool repo. The actual tool is pretty simple but I have a few things running that:

  1. Run a few pre-commit hooks before I commit
  2. Ensure that the commit messages conform to the Conventional Commit standard
  3. Runs a matrix build across four rust toolchains across three operating systems (linux, windows, macos)
  4. Runs the Semantic Release action to see if a new release is needed and if yes, which version marker to bump
  5. Creates a new release if necessary.
  6. Runs a build across the three operating systems and then uploads build artifacts to the release page.

I'd be happy to implement that in this in here.

crumblingstatue commented 1 year ago

I'm not sure I want to use semantic releases and conventional commits. We already have a CHANGELOG, adhering to keep a changelog, which allows more freedom of expression than an automatically generated changelog. Similarly, I feel like adhering too closely to a standard in commit messages just creates friction. So for now, I don't want to commit to using either of these conventions.

CI would however be great for testing, but right now it would require set up for SFML, which I am going to try to transition away from before 0.2.0.

I'm gonna try to wait with CI until the port to wgpu+winit is complete, which will make both distribution and CI easier.

AliSajid commented 1 year ago

I think it would be wise to wait for CI. I'd be happy to help in whatever capacity.

crumblingstatue commented 1 year ago

I'm gonna reopen this as a tracking issue for eventually implementing CI.

crumblingstatue commented 1 year ago

Due to lack of time to work on this project, I'm prioritizing working on features that I want, so I'm removing this from a 0.2 milestone. However, feel free to make a pull request for CI support.