Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CI setup and GitHub organization references #5

Merged
merged 4 commits into from
Apr 18, 2024

Conversation

ararslan
Copy link
Contributor

The CI update (first commit) encompasses the following:

  • CompatHelper and TagBot need particular permissions set; this commit sets them per the respective repositories' README files.
  • Unit testing and documentation deployment are consolidated into one file, in keeping with most other packages in the ecosystem.
  • Unit tests are run on:
    • The latest Ubuntu version available on Actions instead of 20.04
    • Julia 1.6, latest 1.x (1.10 as of this writing), and nightly
    • x86_64 (this was always the case but it's now explicit)

Note that I did not update the Codecov action to its most recent version, v4, as that requires a CODECOV_TOKEN repository secret. See the Codecov documentation for more information. In the meantime, v2 should continue to work (I think) until it's EOL.

The other two commits are replacing references to the Juice-jl GitHub organization with Tractables.

This updates the following things:
- CompatHelper and TagBot need particular permissions set; this commit
  sets them per the respective repositories' README files.
- Unit testing and documentation deployment are consolidated into one
  file, in keeping with most other packages in the ecosystem.
- Unit tests are run on:
    - The latest Ubuntu version available on Actions instead of 20.04
    - Julia 1.6, latest 1.x (1.10 as of this writing), and nightly
    - x86_64 (this was always the case but it's now explicit)

This does NOT update the Codecov action to its most recent version, v4.
That requires a `CODECOV_TOKEN` repository secret. In the meantime, v2
should continue to work (I think) until it's EOL.
Currently everything references Juice-jl.
Both documentation building and installation instructions.
Copy link
Contributor

@khosravipasha khosravipasha left a comment

Choose a reason for hiding this comment

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

Thanks a lot for the changes, mostly LGTM.

Few minor comments inline.

Main questionbefore merging:

  1. How can we test the CI run before merging it? To see whether the doc build and upload happend correctly for example.

Comment on lines +7 to +9
inputs:
lookback:
default: 3
Copy link
Contributor

Choose a reason for hiding this comment

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

does this mean it looks backs 3 commits and tries to tag all of them (if not already)?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

To be perfectly honest, I'm not sure; I just took that from the TagBot repository README.

Comment on lines +41 to +50
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/julia-buildpkg@latest
- uses: julia-actions/julia-docdeploy@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
Copy link
Contributor

Choose a reason for hiding this comment

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

In the past we wanted to trigger doc only builds wihtout running tests but I guess merging them should be fine.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Up to you, I can split them back apart if that's a more convenient workflow for you.

Copy link
Contributor

Choose a reason for hiding this comment

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

Should be okay to merge them.

Comment on lines 8 to 9
workflow_dispatch:

Copy link
Contributor

Choose a reason for hiding this comment

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

Does it make sense to keep workflow_dispatch? In the past was useful for debuggin the actions.

@ararslan
Copy link
Contributor Author

How can we test the CI run before merging it?

Since I'm submitting this PR from a fork, the workflows need to be approved before they're run.

@khosravipasha
Copy link
Contributor

Thanks, seems I don't have access anymore to approve so need to wait until someone else takes a look, and merge this.

@ararslan
Copy link
Contributor Author

Who would still have access? @guyvdbroeck, perhaps?

@ararslan
Copy link
Contributor Author

ararslan commented Apr 18, 2024

Thanks for the workflow and PR approval, @guyvdbroeck! Looks like CI is happy. I think you'll need to be the one to merge as well given that @khosravipasha doesn't (and obviously I don't) have commit access.

@guyvdbroeck guyvdbroeck merged commit 90d19bb into Tractables:main Apr 18, 2024
4 checks passed
@ararslan ararslan deleted the aa/ci branch April 18, 2024 17:24
@ararslan
Copy link
Contributor Author

Looking at the CI log now that this is merged, it appears you'll need to regenerate the DOCUMENTER_KEY repository secret. While you're at it, it would be worthwhile to also grab the CODECOV_TOKEN for this repo from https://codecov.io and add that as a secret. Then the Codecov action can be updated to v4.

@khosravipasha
Copy link
Contributor

@ararslan Thanks for checking the logs, seems CI passed but did not deploy because of DOCUMENTER_KEY . I have access again now, I think I know how to do it following these steps: https://documenter.juliadocs.org/stable/man/hosting/#GitHub-Actions

@ararslan
Copy link
Contributor Author

Great! Once you generate a new SSH key and add it as a repository secret, you should be able to rerun the Documentation job triggered by merging this PR, which you can find in the Actions tab.

@khosravipasha
Copy link
Contributor

Great Thanks, adding the steps here for future refrences.

  1. install DocumenterTools tools
(@v1.8) pkg> add DocumenterTools
  1. Install DirectedAcyclicGraphs in dev mode.
(@v1.8) pkg> dev DirectedAcyclicGraphs
  1. Generate public and private key for documenter_key...
Using DocumenterTools
Using DirectedAcyclicGraphs
DocumenterTools.genkeys(DirectedAcyclicGraphs)
  1. Example Key Generated, and copy in the correct place as instructed in the "info" sections below:
julia> DocumenterTools.genkeys(DirectedAcyclicGraphs)
┌ Info: Add the key below as a new 'Deploy key' on GitHub (https://github.com/Tractables/DirectedAcyclicGraphs.jl/settings/keys) with read and write access.
└ The 'Title' field can be left empty as GitHub can infer it from the key comment.

<ssh-rsa KEY....= Documenter> 

[ Info: Add a secure 'Repository secret' named 'DOCUMENTER_KEY' (to https://github.com/Tractables/DirectedAcyclicGraphs.jl/settings/secrets if you deploy using GitHub Actions) with value:

<DOCUMENTER_KEY in base64 encoding.....==>
  1. Rerun All actions here: https://github.com/Tractables/DirectedAcyclicGraphs.jl/pull/5/checks

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.

3 participants