-
-
Notifications
You must be signed in to change notification settings - Fork 70
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
971 release tag seems wrong #1010
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1010 +/- ##
===========================================
+ Coverage 26.32% 37.93% +11.60%
===========================================
Files 114 119 +5
Lines 6495 6959 +464
===========================================
+ Hits 1710 2640 +930
+ Misses 4785 4319 -466 ☔ View full report in Codecov by Sentry. 🚨 Try these New Features:
|
f7a228f
to
8fc9af4
Compare
edd7ecf
to
722e71f
Compare
3b00fc5
to
85569da
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@BPerlakiH I believe this was still not clear to you how I want it to work.
I have fixed the README.md
but:
- The section "Last Step" is probably still wrong
- The worflow is still wrong for the release.
There is no something like a "post release step", this is one release process which is triggered by the GitHub release and then go to testflight. It's not testflight and then github release.
Ohh, it is still not clear for me... |
No, this has to be one we have released through the usual process. The validation of Apple does not decide what we release. We decide what we release and Apple decides if it goes through to the audience of its App store. |
Ok, I see your point now. This is how I understand it:
|
@kelson42 After re-reading your changes I think we are missing some pieces, to get a common understanding of this process. We can create a release version, eg: 3.6.0. This is stored in git within the code. As time passes we weekly / or on demand create builds for this, that is available to try out. For clarity let's call them release candidates. This possibility of trying them out is available via TestFlight. The idea is that it should be tested on real devices before the public sees it. Those builds are uploaded there via our TestFlight CD process. Any of those builds can be picked to be sent to Apple and make it publicly available on the App Store as version 3.6.0. This is what I meant that we usually "pick the latest one". So far we were following the safest path, that the build (release candidate) we try out is the one we send to Apple. If it's approved, we want to mark it as a "final" release, and as such it should be reflected in GitHub release and as a git tag as well. At the same time, we do want to upload this to FTP so it's available there as well. These 2 last steps is automated, by the formerly called "post Release step":
From all of this, what we haven't really practiced so far is creating the proper GitHub release tag, and created too many "testflight" tags with various suffixes. Now we can turn this around, and do a new build and tag as a GitHub release, which will produce a new build on that list, and retest that, and pick it to be published to the App Store. If all is good, it still requires us to do the FTP step, once it's approved. Eg: version 1.6.0 is not approved by Apple:
|
In this whole Apple process of getting from code to public App Store, the release version is fixed from the very beginning. The build number varies though. |
We primarely release a code (version), all the rest is secondary. Per definition, if Apple start to refuse releases, we will have more releases than version available publicaly in the App store. For the moment, dev versions don't have a dedicated name... but this is going to change. But this is not the point of this request. |
96ee6fc
to
d7a73b7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
d7a73b7
to
db9afef
Compare
db9afef
to
b482b4a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
I don't know if this is ready to review but at a first look I don't see how the release event would here push on testflight.... Or it was already doing it in the past? |
Release](https://github.com/kiwix/kiwix-apple/releases). Only the | ||
version released (to Testflight) that way can be then sent to | ||
approval to Apple. Once approved by Apple, we can release them to the | ||
AppStore. At the same time, will publish the macOS DMG to our [file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This At the same time is confusing. It should be clear that this is triggered by the Github release event.
Indeed, I thought this was a doc-only PR. What is described in this PR's readme is not what is happening in the workflow. We are setting UPLOAD_TO differently. This will require refactoring of the workflow as it was previously either one or the other |
b482b4a
to
3fc98ca
Compare
@BPerlakiH Can you please focus on fixing this? This is a very old PR and I want this working fine before releasing. |
Fixes: #971
I've updated the Readme file and the CD workflow to have our new approach documented and enforced.