Skip to content

Adding workflow to update binary builder and Julia version #230

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

udesou
Copy link
Contributor

@udesou udesou commented Feb 7, 2025

This PR adds a workflow to set up PRs for https://github.com/JuliaPackaging/Yggdrasil.git and https://github.com/JuliaLang/julia updating the binding version for both whenever we change our master branch.

@udesou udesou force-pushed the feature/add-workflow-update-julia branch from 33f5b87 to 718edf4 Compare February 7, 2025 01:41
Copy link
Member

@qinsoon qinsoon left a comment

Choose a reason for hiding this comment

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

I feel this script is not tested. We need to have a way to at least roughly test the script and make sure it runs before merging it. For example, we can trigger the workflow for this PR, and try to create PRs for the most recent releases. If this works fine, then we just need to change the trigger so a new release triggers the workflow and use the version of the release that triggers the workflow.

run: |
IFS='.' read -ra parts <<< "${{ env.latest_tag }}"
new_patch=$(( ${parts[2]} + 1 ))
new_version="v${parts[0]}.${parts[1]}.$new_patch"
Copy link
Member

Choose a reason for hiding this comment

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

This only bumps the point version. I think we can do a release manually, and trigger a workflow when we have a new release. See how we publish mmtk-core to crates.io when we tag a release: https://github.com/mmtk/mmtk-core/blob/4ca8812607bfb0b398278e01cbd3755959c7d010/.github/workflows/cargo-publish.yml#L6

git checkout -b "$branch_name"
sed -i "10s/hash = \".*\"/hash = \"${{ env.commit_hash }}\"/" M/mmtk_julia/build_tarballs.jl
git commit -am "Update MMTK Julia hash"
git push origin "$branch_name"
Copy link
Member

Choose a reason for hiding this comment

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

This creates a branch in JuliaPackaging/Yggdrasil. Do we have permission to do that? If we do, we need to set up the token in the first step using a token that has permission to push to the repo.

Alternatively, we can use the mmtk bot account, and push to its own fork of Yggdrasil and open a PR.

sed -i "s/MMTK_JULIA_SHA1 = \".*\"/MMTK_JULIA_SHA1 = \"${{ env.commit_hash }}\"/" deps/mmtk_julia.version
sed -i "s/MMTK_JULIA_TAR_URL = \".*\"/MMTK_JULIA_TAR_URL = \"v${{ env.new_version }}.tar.gz\"/" deps/mmtk_julia.version
git commit -am "Update MMTK Julia references"
git push origin "$branch_name"
Copy link
Member

Choose a reason for hiding this comment

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

Same here. This push to a branch in JuliaLang/julia. We need to know if we have permission to do so. Even if we do have permission, we probably still want to push to a fork and open a PR.

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.

2 participants