You are viewing a plain text version of this content. The canonical link for it is here.
Posted to legal-discuss@apache.org by "Jarek Potiuk (Jira)" <ji...@apache.org> on 2020/12/26 20:39:00 UTC

[jira] [Commented] (LEGAL-549) How to release part of a monorepo

    [ https://issues.apache.org/jira/browse/LEGAL-549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17255120#comment-17255120 ] 

Jarek Potiuk commented on LEGAL-549:
------------------------------------

This is great question. I'd love to hear from Legal as well for Apache Airflow.

 

We have very similar setup Our monorepo (as of latest 2.0 release) consists of :
 * main `apache-airflow` - core airflow package which we will release ~ once/2 months once we get through teething problems with 2.0.0
 * 60+ providers - we have 60 `apache-airflow-provider-<PROVIDER>` packages (separate for each service/tool we interface with. We released 1.0.0 for all of them recently but we plan to release each provider separately on ad-hoc basis (much more frequently than 1/2 months)
 * Helm Chart - which we plan to release shortly (but it is not released yet) - we specifically exclude sources for the chart when we build source packages for the 'dist.apache.org;
 * Docker image - this one is very close to 'apache-airflow' and we release it together with the main package.

The current process we are following is:
 * we have a tag for every release (i.e. 2.0.0 is tag for airflow, but then providers-google/1.0.0 is tag for 'google' provider) and we have separate one for each provider
 * we are going to follow this for helm chart as well.
 * we upload sources separately for each 'release" - we uploaded separate source for 1.0.0 providers (all at once) but we are going to upload separate source package for each provider released separately (I am implementing it right now).
 * when voting, we check all prepared packages. Since each provider will have separate source package (pending implementation), it means we have to check those packages that are currently being released (we try to batch the releases for efficiency of voting - so in our procedures when we release more than one provider we will check each provider independently and we can even exclude some of the providers when we vote - so anyone can give +1 for most of the providers but -1 for one or two).

Some of the docs around it: r [1]

 

[1] [https://github.com/apache/airflow/blob/master/dev/README_RELEASE_PROVIDER_PACKAGES.md]

 

Any comments from Legal about it ?

 

> How to release part of a monorepo
> ---------------------------------
>
>                 Key: LEGAL-549
>                 URL: https://issues.apache.org/jira/browse/LEGAL-549
>             Project: Legal Discuss
>          Issue Type: Question
>            Reporter: Zhenxu Ke
>            Priority: Major
>
> Hi the legal team, we have a mono repo [1] that hosts multiple tools, each of which can be released and used individually, I have a couple questions in releasing such repo.
> Can we just release part of the source codes and binaries. For example, only release `license-eye`, or `quality-eye` at a time in the repo [1] instead of releasing all or none? This may happen when one tool is ready for release while the others are not. If so
>  # can we upload the official source tar *AGAIN* to the GitHub release assets *after uploading it to dist.apache.org* , we need this in the GitHub release assets when tagging and it will be used in GitHub Actions;
>  # do we have to tag on the GitHub repo every time we have a release?
>  # when voting, we only need to check that the source tar content of the voting tool (e.g. `license-eye`) matches the content of git tag on GitHub, in another word, we need to check the candidate tar is a subset of the git tag on GitHub, is that right?
>  
> Thank you in advance if you could help me on the questions above, or paste some links that includes the content I'm asking, I've read these [2] ~ [4] but seems none of them addresses my questions. Or if you could take a look at our specific scenario  [5] [6] and give some advices, it would be really appreciated.
>  
>  [1] [http://github.com/apache/skywalking-eyes]
>  [2] [https://infra.apache.org/release-publishing.html]
>  [3] [https://www.apache.org/legal/release-policy.html]
>  [4] [http://incubator.apache.org/guides/releasemanagement.html#best-practice] 
>  
> Some contexts:
>  [5] [https://github.com/apache/skywalking-eyes/pull/10#issuecomment-750902397]  
>  [6] [https://github.com/apache/skywalking-eyes/pull/12]
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
For additional commands, e-mail: legal-discuss-help@apache.org