-
Notifications
You must be signed in to change notification settings - Fork 15
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
Branching and mirroring scheme #40
Comments
I would like us to remain as close as possible to the Graal's scheme, i.e. having x.y.z for I am convinced the goal should be keeping us as close to Graal's releases as possible long-term. Differences in backported patches and updates will be marked with our mandrel patch release appended to the Graal version. Ad branches, I support having |
Please refrain from discussing versions in this issue. Let's try to focus only on branches and how/when they should be created. |
@zakkak Maybe we need major.minor.micro branches to handle this? So, One possible suffix for the branches could be |
I prefer keeping the tags clean and going for |
@zakkak @jerboaa made an interesting point in #27 (comment). Keeping branches major.minor and going along with the progress in the oracle graal micros might be less pain in the long term. |
So current consensus seems to be:
|
Seems sensible. I'd suggest to name the tag |
According to the discussions in this thread we should:
|
Graal's approach
Graal uses the
master
branch for development and creates a newrelease/graal-vm/X.Y
branch for each feature release.Graal's roadmap
In Graal's versioning scheme in
X.Y.Z
:X
indicates the year of the release (e.g.19
for 2019)Y
indicates the feature release (which are released quarterly so there are 4 each year thusY
is in the range0-3
)Z
is an incremental number for patch releases.Note however that in https://github.com/graalvm/graalvm-ce-builds/tags there is no
19.3.3
release, while there is a19.3.0.2
that doesn't match the above scheme.Mandrel
Current state
We are currently syncing Mandrel's
master
branch with Graal's master once per day, and we have mirroredrelease/graal-vm/20.1
at tagvm-20.1.0
in20.1
. Mandrel's20.1
differs:vm-20.1.0
in that it contains some backports (see oracle/graal@vm-20.1.0...graalvm:20.1)release/graal-vm/20.1
in that it contains the above backports and it doesn't contain commits pushed after tagvm-20.1.0
(see oracle@9372629)Additionally we are keeping an up to date mirror of Graal branches of interest in branches prefixed with
oracle-
, e.g.oracle-20.1
is a mirror of Graal'srelease/graal-vm/20.1
branch.(Potential) Issues with current state:
20.1.1
and20.1.2
are on the same Graal branch (20.1
) we cannot keep working on Mandrel's20.1.1+
version while testing out20.1.2
. Once we pull Graal's changes from20.1
they are now in our20.1.1+
version, while they should probably be in our20.1.2+
version (for versioning please see Source Tagging Scheme #39)release
branches (usefull in CI pipelines). If we name our branchesmandrel-20.1
orrelease/mandrel/20.1
or similar then we can easily add filters in our CI pipelines.The text was updated successfully, but these errors were encountered: