WIP: Binary distributions via GitHub Releases.#98
Conversation
| name: Create GitHub Draft Release | ||
| # Only run this job for tag pushes after the R-build job completes | ||
| # successfully (also means the pushed tag matches SITK_TARGET since | ||
| # R-build validates that at the beginning). |
There was a problem hiding this comment.
Keep it simple. Just run when there is a tag starting with be. The whole comparison is really not needed.
There was a problem hiding this comment.
The tag matching is now only performed for the draft release creation job. That step should only happen when the intention is to create a release and then the pushed tag should match the one in the DESCRIPTION file so that the installer and the SimpleITK versions are kept in sync.
| # it with the GitHub Actions artifacts and the release description/body. | ||
| - name: Create or Update Draft Release | ||
| uses: softprops/action-gh-release@v2 | ||
| env: |
There was a problem hiding this comment.
I would just use the gh command line directly and not use the third party action.
There was a problem hiding this comment.
I prefer to keep using the action as it is more robust and the setup is more concise than a gh cli.
524a9cb to
5532b32
Compare
For all triggering events, the workflow builds SimpleITK using the installer, creates binary packages from the results and uploads the artifacts to GitHub. When the triggering event is a tag push that matches the SITK_TARGET (DESCRIPTION file) a draft release is created and the packages are uploaded to it.
874ed16 to
95a05ca
Compare
Refer to actions using the hash and not the tag that can be moved. Also limit permissions to read-only.
95a05ca to
cc5585f
Compare
|
Hey guys, It is amazing that you guys are officially releasing binaries. I think I saw that the Python binary releases of new SimpleITK versions now will come with Elastix installed too. Can we also do the same with R binaries here? Would be a nice addition since most of R wrappers of registration software out there cannot handle large images. Best, |
|
Hi @Artur-man, This is still experimental, but we are thinking of turning SimpleElastix on by default, so that will apply to all languages. Note that the two developments, SimpleElastix and R binary distribution, are independent of each other. Currently it looks like the workflow for R binary distribution is working. Would appreciate it if you could try some of the artifacts on your side. The PR testing is still running but some of the artifacts have already been uploaded here. Let us know if you test some of them and if you encounter problems. Note that the macos-ARM are not there as those are built on CircleCI and we're a bit cautious in terms of security and setting it up to allow CircleCI to automatically upload artifacts to the GitHub release. With SimpleITK 3.0 we hope that the required build resources on GitHub will be sufficient and we'll add the ARM builds here. Otherwise, we'll need to think of another solution. |
When a tag that matches the SITK_TARGET is pushed
to the repository, binary R packages for all tested platforms and that specific tag are created and uploaded to a draft release on GitHub.
Binary packages built and uploaded by CircleCI
use the GitHub CLI tool and requiere a GitHub
personal access token (PAT) with full repo control. In CircleCI project settings, under
Environment Variables add a variable:
GITHUB_TOKEN = PAT_value.