Skip to content

Create JSOTemplate compliance workflow#23

Merged
abelsiqueira merged 1 commit intomainfrom
compliance
Jul 24, 2023
Merged

Create JSOTemplate compliance workflow#23
abelsiqueira merged 1 commit intomainfrom
compliance

Conversation

@abelsiqueira
Copy link
Copy Markdown
Member

cf. @dpo, @tmigot, @amontoison

This PR creates a workflow that runs daily and checks that a few files are the same as the ones here:

  • .JuliaFormatter.toml
  • In .github/workflows/, CI.yml, CompatHelper.yml, Formatter.yml, Register.yml, TagBot.yml

It also changed the case of the files to CamelCase, so it is uniform.

This workflow can also be triggered manually.

If there are differences, then a PR is created on that package to fix it.
If there were already PRs from compliance, then the old ones are closed.

This was tested on a single repository (JuliaSmoothOptimizers/DerivativeFreeSolvers.jl#44) and it took a lot of tries and small fixes. So it might lead to a PR hell, which is why I created a PR for review before merging and triggering it.

Along with #18, #19, and #20, it should revamp the workflows of all JSO packages.

@amontoison
Copy link
Copy Markdown
Member

amontoison commented Jan 18, 2023

@abelsiqueira
We should add .cirrus.yml, what do you think?
I updated it in Krylov.jl and we can test Apple M1 with CirrusCI now.

@abelsiqueira
Copy link
Copy Markdown
Member Author

@abelsiqueira We should add .cirrus.yml, what do you think? I updated it in Krylov.jl and we can test Apple M1 with CirrusCI now.

I'm fine with that. I don't remember if we have limits in CIRRUS. Is the Apple M1 testing included? Can you create a PR updating the cirrus here, please?

@amontoison
Copy link
Copy Markdown
Member

@abelsiqueira We should add .cirrus.yml, what do you think? I updated it in Krylov.jl and we can test Apple M1 with CirrusCI now.

I'm fine with that. I don't remember if we have limits in CIRRUS. Is the Apple M1 testing included? Can you create a PR updating the cirrus here, please?

Yes, the Apple M1 testing is included and we don't have limits in CirrusCI.

@abelsiqueira
Copy link
Copy Markdown
Member Author

I've rebased and added Aqua, Invalidations, and cirrus

@codecov
Copy link
Copy Markdown

codecov Bot commented Jan 19, 2023

Codecov Report

Patch coverage has no change and project coverage change: +11.11 🎉

Comparison is base (68f7d77) 0.00% compared to head (c5b9c45) 11.11%.

Additional details and impacted files
@@            Coverage Diff            @@
##           main      #23       +/-   ##
=========================================
+ Coverage      0   11.11%   +11.11%     
=========================================
  Files         0        2        +2     
  Lines         0        9        +9     
=========================================
+ Hits          0        1        +1     
- Misses        0        8        +8     
Impacted Files Coverage Δ
src/JSOTemplate.jl 100.00% <ø> (ø)
src/compliance.jl 0.00% <0.00%> (ø)

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@abelsiqueira abelsiqueira reopened this May 31, 2023
@abelsiqueira abelsiqueira force-pushed the compliance branch 3 times, most recently from 86376ac to b0585ac Compare July 18, 2023 20:10
@abelsiqueira
Copy link
Copy Markdown
Member Author

@dpo, @tmigot, @amontoison, I am ready to merge this.
I have limited the effect to touch only LinearOperators, Krylov, NLPModels, and ADNLPModels.
As an example of what will happen when this is merged, here is a PR made to my fork: https://github.com/abelsiqueira/ADNLPModels.jl/pull/5/files

There are limitations, but this provides a basic structure to change, e.g., CI.yml across many repos.

@abelsiqueira
Copy link
Copy Markdown
Member Author

PS. @amontoison, do you know what are the ARMv8 failures?

Copy link
Copy Markdown
Member

@dpo dpo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, but where is check_and_fix_compliance implemented?

@amontoison
Copy link
Copy Markdown
Member

amontoison commented Jul 19, 2023

PS. @amontoison, do you know what are the ARMv8 failures?

It seems that Julia 1.9 was not built for this platform.
We should probably remove it.

Great job Abel!

@abelsiqueira
Copy link
Copy Markdown
Member Author

Thank you for the reviews. check_and_fix_compliance is implemented in https://github.com/abelsiqueira/Emporium.jl.
Thanks for checking @amontoison, I will remove that.

Copy link
Copy Markdown
Member

@tmigot tmigot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the idea, thanks @abelsiqueira !

@abelsiqueira abelsiqueira merged commit 1c38be0 into main Jul 24, 2023
@abelsiqueira abelsiqueira deleted the compliance branch July 24, 2023 07:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants