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

Integrate binder environment in development branches instead of a separate dedicated orphan branch #330

Merged
merged 3 commits into from
May 2, 2024

Conversation

nhuet
Copy link
Contributor

@nhuet nhuet commented Apr 25, 2024

  • We move binder definition into a subdirectory "binder/" of dev branches.
    That way the binder environment will follow the code modifications without having to push on binder orphan branch.
    We still install the scikit-decide last nightly build when building the binder env. The environment corresponding to master branch
    will be rebuilt each time nightly build is triggered
  • We modify the github workflow to stop pushing on binder orphan branch.
    • in case of push on master, nothing more is needed.
    • In case of nightly build, we trigger the build of master binder env.
    • In case of release, we update the binder subdirectory and push it to the same tag already generated so that the notebooks are
      modified to install the latest release when launched on colab
    • we also update the actions to make them use node 20 as node 18 is deprecated
    • we refactor to avoid duplicated workflow by creating reusable workflows to build and deploy the doc
  • We update the binder links generated to point to use the correct binder environment

@nhuet nhuet force-pushed the binder_integrated branch 11 times, most recently from b12c6b3 to 7b9d951 Compare April 26, 2024 13:45
@nhuet
Copy link
Contributor Author

nhuet commented Apr 30, 2024

I tried the workflows on my own fork:

@nhuet nhuet force-pushed the binder_integrated branch from 7b9d951 to ce5e119 Compare April 30, 2024 10:33
nhuet added 2 commits April 30, 2024 15:16
- create reusable workflows to share between release.yml and build.yml
- update actions to make them use node 20 (node 18 being deprecated)
- upload-artifact and download-artifact @v4 are using immutable
  artifacts sor we need to upload wheels to separate artifacts But we
  can still download them all to update the nightly wheel by using
  `pattern`  + `merge_multiple`
- in case of push on master, we do not need anymore to push on binder
  branch, and master binder env defined in subdirectory binder/ will install
  last "nightly" wheel available
- in case of release, we do not push anymore to binder branch but rather update the
  subdirectory binder/ and push it in the same tag created for colab
  notebooks
- to ensure having last "nightly" wheel correspond to the state of
  master branch, we trigger the job "upload-nightly" for each push on
  master (not waiting for following night), and make deploy-doc depends
  on it so that the binder env built by deploy-doc will get the proper
  version of scikit-decide
- the scheduled workflows are nno more necessary to have an up-to-date
  wheel on "nightly" release but rather only to check that dependencies
  are not messing up the library => we schedule only once a week from
  now
We update the python script generating the notebooks doc page with
binder links.

We also integrate some improvements robustifying it:
- strip first line before extracting title of notebooks
- allow notebooks in subdirectories and creating subsections according
  to the arborescence
@nhuet nhuet force-pushed the binder_integrated branch from ce5e119 to cc6820d Compare April 30, 2024 13:16
@nhuet nhuet marked this pull request as ready for review May 2, 2024 07:23
@fteicht fteicht self-assigned this May 2, 2024
@fteicht fteicht self-requested a review May 2, 2024 08:11
@fteicht fteicht added the enhancement New feature or request label May 2, 2024
@fteicht fteicht merged commit f0937b5 into airbus:master May 2, 2024
42 checks passed
@nhuet nhuet deleted the binder_integrated branch May 2, 2024 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants