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

Release number on Builds #381

Closed
johnml1135 opened this issue May 1, 2024 · 23 comments
Closed

Release number on Builds #381

johnml1135 opened this issue May 1, 2024 · 23 comments
Assignees
Labels
sf_watching Scripture Forge should be updated when this is resolved or updated

Comments

@johnml1135
Copy link
Collaborator

johnml1135 commented May 1, 2024

Add Serval release version number on the engine builds - so that people can see what Serval version the specific build was created with later.

@johnml1135 johnml1135 added this to Serval May 1, 2024
@github-project-automation github-project-automation bot moved this to 🆕 New in Serval May 1, 2024
@johnml1135 johnml1135 self-assigned this May 1, 2024
@ddaspit
Copy link
Contributor

ddaspit commented May 1, 2024

I would push back on this for now until we have a better understanding of what the actual requirement is.

@johnml1135
Copy link
Collaborator Author

Agreed - this is a Serval-SF question about how to track what changes between different versions of Serval so that SF (and the users) know what the status of an actual build is including the capabilities of Serval when it was made to know if rebuilding is recommended or not.

@johnml1135 johnml1135 assigned Enkidu93 and unassigned johnml1135 May 21, 2024
@Enkidu93
Copy link
Collaborator

I would push back on this for now until we have a better understanding of what the actual requirement is.

Does this concern still stand or do we have a clearer requirement? @johnml1135

@ddaspit
Copy link
Contributor

ddaspit commented May 21, 2024

We need to talk to the SF team to find out what the exact issue is, so that we can find the best solution.

@Enkidu93
Copy link
Collaborator

@Nateowami What is the issue here that prompted this? Do you know? Does it still stand?

@Nateowami
Copy link
Collaborator

I don't know what John means by "Add Serval release version number on the build"

I just want to be able to determine what version of Serval is live, what version is on QA, and trace both to a commit in this repo.

It might already be possible to do that and I just don't know. In the Scripture Forge repo for example, you can look at the sf-live and sf-qa branches, and they will tell you what commit QA and live is at.

@Enkidu93
Copy link
Collaborator

Enkidu93 commented May 28, 2024

I don't know what John means by "Add Serval release version number on the build"

I just want to be able to determine what version of Serval is live, what version is on QA, and trace both to a commit in this repo.

It might already be possible to do that and I just don't know. In the Scripture Forge repo for example, you can look at the sf-live and sf-qa branches, and they will tell you what commit QA and live is at.

Oh, I see. Does the /status/deployment-info endpoint meet your needs? Is it a matter of adding a link to a specific commit in that deployment info response?

@Nateowami
Copy link
Collaborator

Using an API endpoint like that would be very inconvenient for what I'm trying to do. Do you tag your releases in GitHub? It looks like you do for production releases, but I can't tell about QA releases. I'm pretty sure I can find the version that's on live at https://github.com/sillsdev/serval/releases, but I can't tell what's on QA.

@Enkidu93
Copy link
Collaborator

Oh, I see. No, the QA releases are not tagged to my knowledge. I don't see why we couldn't change our process to accommodate you. Something like releaseQA_1.4.4 (or I think John has release_1.4.QA4 in the yamls - not sure why the ordering). Is that all you'd need?

This does seem like maybe a different issue than John meant. I think he was considering putting the version number in the build data so we could retrospectively see what version of Serval a build was made under. Is there a requirement for this though?

@Enkidu93
Copy link
Collaborator

Oh, I see. No, the QA releases are not tagged to my knowledge. I don't see why we couldn't change our process to accommodate you. Something like releaseQA_1.4.4 (or I think John has release_1.4.QA4 in the yamls - not sure why the ordering). Is that all you'd need?

This does seem like maybe a different issue than John meant. I think he was considering putting the version number in the build data so we could retrospectively see what version of Serval a build was made under. Is there a requirement for this though?

After chatting with Damien, I think we should hold out adding the deployment info to the build until there's a well-defined requirement. But it would be easy enough to tag releases to QA. We could add status badges to the README to show what's running on QA and production that are linked to the commits.

@johnml1135
Copy link
Collaborator Author

@Enkidu93 and @Nateowami - I want to make sure that we all understand what this is about. "Serval releases" are tagged through the https://prod.serval-api.org/swagger/index.html#/Status/Status_GetDeploymentInfo endpoint. The information is defined in YAML files and is updated for both QA and production. This is about adding this "Serval release" version to the engine build metadata so that we can determine which release of Serval that a specific build was created with for logic such as "should we rebuild this engine?" etc.

@Nateowami
Copy link
Collaborator

@johnml1135 Understood. That could be useful. Should I create an issue for making clear what version QA is at?

@Enkidu93
Copy link
Collaborator

@johnml1135 Should this be postponed since there's not a definite requirement or is this something we'd like to do?

Also, it does seem like Nathaniel would like to have a straightforward way to see what version of the code is running on QA at any given time. Should we open a separate issue for this? I think using the status badges could also be a clean way to get to display that information more generally on the developer side.

@Enkidu93
Copy link
Collaborator

@johnml1135 Anything to follow up on here? Should we create the issue Nathaniel mentioned? Is this issue itself still a priority?

@johnml1135
Copy link
Collaborator Author

@Nateowami - you are the customer. Would you like this feature? If so, let's make sure we are building what you are wanting. Until then, let's hold off on implementing anything.

@Nateowami
Copy link
Collaborator

There could absolutely be value in having the version number on the build. Right now we don't have a use-case for it, but I could imagine a situation where we want to be able to detect builds created with an old version of Serval and prompt the user to regenerate them, or something like that. I don't consider it high priority though.

@ddaspit
Copy link
Contributor

ddaspit commented Aug 13, 2024

We can keep this open. Once SF has a specific use case and requirements, we can implement this.

@Nateowami
Copy link
Collaborator

I think I have just found the use-case, which is including it alongside our metrics about success and failure of builds. It would be useful to look at failures which occurred with the most recent release only.

How trivial is it to add the version to the build metadata?

@ddaspit
Copy link
Contributor

ddaspit commented Aug 13, 2024

Would retrieving the version number from the status/deployment-info endpoint fulfill your need?

@Enkidu93
Copy link
Collaborator

I think I have just found the use-case, which is including it alongside our metrics about success and failure of builds. It would be useful to look at failures which occurred with the most recent release only.

How trivial is it to add the version to the build metadata?

It wouldn't be difficult to add the version number.

Would retrieving the version number from the status/deployment-info endpoint fulfill your need?

We'll have to see what Nathaniel says, but judging from earlier conversation, I don't think this would be sufficient since he wants to see what version a build was built under (i.e., version per build, not current version per deployment) unless SF saves that version itself when the build is run, but that seems a bit janky.

@Enkidu93
Copy link
Collaborator

Since it looks like we now have a requirement from SF regarding adding the version number to the translation engine build, I think we can go ahead and at least do that. I'm gonna hand this off to @mudiagaobrikisil as a good first issue unless anyone objects.

@Enkidu93 Enkidu93 moved this from 🆕 New to 🔖 Ready in Serval Sep 24, 2024
@Nateowami Nateowami added the sf_watching Scripture Forge should be updated when this is resolved or updated label Sep 24, 2024
@johnml1135 johnml1135 moved this from 🔖 Ready to 🏗 In progress in Serval Nov 1, 2024
@johnml1135
Copy link
Collaborator Author

This is being addressed here: #517

@Enkidu93
Copy link
Collaborator

Fixed here

@github-project-automation github-project-automation bot moved this from 🏗 In progress to ✅ Done in Serval Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sf_watching Scripture Forge should be updated when this is resolved or updated
Projects
Status: ✅ Done
Development

No branches or pull requests

5 participants