<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 09:08:40 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[MONGOCRYPT-437] Replace hard-coded values from remote_file</title>
                <link>https://jira.mongodb.org/browse/MONGOCRYPT-437</link>
                <project id="17481" key="MONGOCRYPT">Libmongocrypt</project>
                    <description>&lt;p&gt;The Evergreen project configuration contains several instances of hard-coded values in the &lt;tt&gt;remote_file&lt;/tt&gt; parameter of &lt;tt&gt;s3.put&lt;/tt&gt; commands.  This was okay when there was a single Evergreen project associated with the repository and when releases were made directly from the &lt;tt&gt;master&lt;/tt&gt; branch.  However, we now have three Evergreen projects associated with the repository, releases made from release-specific branches, and a project specifically for tracking work done on feature branches.&lt;/p&gt;

&lt;p&gt;The specific instances that need to be addressed are occurrences of &lt;tt&gt;libmongocrypt&lt;/tt&gt; that should be replaced with &lt;tt&gt;${project&lt;/tt&gt;} and occurrences of &lt;tt&gt;master&lt;/tt&gt; that should be replaced with &lt;tt&gt;${branch_name&lt;/tt&gt;}.  These are located in the &lt;tt&gt;s3.put&lt;/tt&gt; commands of the &lt;tt&gt;upload-java&lt;/tt&gt; and &lt;tt&gt;upload-all&lt;/tt&gt; tasks.  Similar values in the &lt;tt&gt;windows-upload&lt;/tt&gt; and &lt;tt&gt;debian-package-build&lt;/tt&gt; tasks may not necessarily need to be changed, but rationale for hard-coded values should be included in a comment.&lt;/p&gt;

&lt;p&gt;Changes to these values should be made in such a way as to ensure that workflows that depend on the affected artifacts (e.g., downstream driver projects) are not broken.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2060951">MONGOCRYPT-437</key>
            <summary>Replace hard-coded values from remote_file</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13201">Fixed</resolution>
                                        <assignee username="roberto.sanchez@mongodb.com">Roberto Sanchez</assignee>
                                    <reporter username="roberto.sanchez@mongodb.com">Roberto Sanchez</reporter>
                        <labels>
                    </labels>
                <created>Thu, 2 Jun 2022 19:50:44 +0000</created>
                <updated>Sat, 28 Oct 2023 10:25:46 +0000</updated>
                            <resolved>Fri, 22 Jul 2022 18:05:36 +0000</resolved>
                                                    <fixVersion>1.6.0</fixVersion>
                    <fixVersion>1.5.2</fixVersion>
                    <fixVersion>1.6.0-alpha0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="4698816" author="xgen-internal-githook" created="Fri, 22 Jul 2022 18:04:48 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Roberto C. S&#225;nchez&apos;, &apos;email&apos;: &apos;roberto@connexer.com&apos;, &apos;username&apos;: &apos;rcsanchez97&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/MONGOCRYPT-437&quot; title=&quot;Replace hard-coded values from remote_file&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MONGOCRYPT-437&quot;&gt;&lt;del&gt;MONGOCRYPT-437&lt;/del&gt;&lt;/a&gt; remove hard-coded branch names in Evergreen s3.put targets (#421)&lt;br/&gt;
Branch: r1.5&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/libmongocrypt/commit/2392b258b20a183b4a95e9701b4086ee390bbf52&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/libmongocrypt/commit/2392b258b20a183b4a95e9701b4086ee390bbf52&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4698815" author="xgen-internal-githook" created="Fri, 22 Jul 2022 18:04:36 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Roberto C. S&#225;nchez&apos;, &apos;email&apos;: &apos;roberto@connexer.com&apos;, &apos;username&apos;: &apos;rcsanchez97&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/MONGOCRYPT-437&quot; title=&quot;Replace hard-coded values from remote_file&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MONGOCRYPT-437&quot;&gt;&lt;del&gt;MONGOCRYPT-437&lt;/del&gt;&lt;/a&gt; remove hard-coded branch names in Evergreen s3.put targets (#420)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/libmongocrypt/commit/8cbd0692409cb665a83072a55212528c19a3073f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/libmongocrypt/commit/8cbd0692409cb665a83072a55212528c19a3073f&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4668003" author="roberto.sanchez" created="Sat, 9 Jul 2022 19:15:49 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kevin.albertson%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;kevin.albertson@mongodb.com&quot;&gt;kevin.albertson@mongodb.com&lt;/a&gt;, at first glance this issue seemed simple and straightforward, and to a certain extent it is possible to simply make the changes I described in the initial summary and call it done.  However, as I began to think about some of the implications associated with the assumptions and the proposed changes it seemed like a more thorough reevaluation would be useful.  I apologize up front if this comment ends up lengthy, but I want to make sure to cover all the bases.&lt;/p&gt;

&lt;p&gt;Given the way that libmongocrypt is handled in Evergreen, I question whether our artifact locations need the branch as part of the URL at all.  The projects &lt;tt&gt;libmongocrypt&lt;/tt&gt; (tracking the &lt;tt&gt;master&lt;/tt&gt; branch) and &lt;tt&gt;libmongocrypt-release&lt;/tt&gt; (tracking the latest release branch, currently &lt;tt&gt;r1.5&lt;/tt&gt;) give downstream projects the ability to choose whether their own projects will depend upon artifacts which represent that absolute latest development work, or more stable released (or planned for release) changes, respectively.  The changes implemented as part of &lt;a href=&quot;https://jira.mongodb.org/browse/MONGOCRYPT-315&quot; title=&quot;Upload tagged releases to a URL containing the tag name&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MONGOCRYPT-315&quot;&gt;&lt;del&gt;MONGOCRYPT-315&lt;/del&gt;&lt;/a&gt; make the latter category even more useful, as downstream projects can target artifacts based on a tag rather than only a commit SHA.&lt;/p&gt;

&lt;p&gt;The &lt;tt&gt;libmongocrypt&lt;/tt&gt; Evergreen project tracks only a single branch, &lt;tt&gt;master&lt;/tt&gt;, and that seems unlikely to change.  Since it is the project that represents the latest active development work, including &lt;tt&gt;master&lt;/tt&gt; in the URL seems redundant.  The &lt;tt&gt;libmongocrypt-release&lt;/tt&gt; project will change the branch that it tracks as new minor releases are made and their corresponding branches are created.  Including the branch name in the artifacts for the &lt;tt&gt;libmongocrypt-release&lt;/tt&gt; project does help a person identify the release series of a particular artifact based only on the URL, but it also means that any project that wants to use &quot;the latest artifact representing a release version or something that very likely will become a release version&quot; must also be aware of new minor releases and change the artifact locations in their own projects whenever a new release branch is started.&lt;/p&gt;

&lt;p&gt;It appears to me that we can create a simpler and more useful experience for downstream projects by dropping the branch name from the URLs and using the &lt;tt&gt;${project&lt;/tt&gt;} Evergreen expansion.&lt;/p&gt;

&lt;p&gt;That will result in artifacts locations of the form:&lt;/p&gt;

&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;${project}/all/latest/libmongocrypt-all.tar.gz&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;${project}/all/${commit}/libmongocrypt-all.tar.gz&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;${project}/all/${tag}/libmongocrypt-all.tar.gz&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;${project}/${build_variant}/latest/libmongocrypt.tar.gz&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;${project}/${build_variant}/${commit}/libmongocrypt.tar.gz&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;${project}/${build_variant}/${tag}/libmongocrypt.tar.gz&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;${project}/${build_variant}/latest/libmongocrypt-distro-packages.tar.gz&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;${project}/${build_variant}/${commit}/libmongocrypt-distro-packages.tar.gz&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;${project}/${build_variant}/${tag}/libmongocrypt-distro-packages.tar.gz&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;The value of &lt;tt&gt;${project&lt;/tt&gt;} would vary between &lt;tt&gt;libmongocrypt&lt;/tt&gt; and &lt;tt&gt;libmongocrypt-release&lt;/tt&gt;.  This would give downstream projects easy access to an artifact with either all binary builds or only those pertaining to a particular build variant, whether based on a commit SHA, tag name, or latest, either for latest development or latest stable release.  Particularly, this would ensure that the notion of &quot;latest stable release&quot; does not become stale because the branch tracked by the &lt;tt&gt;libmongocrypt-release&lt;/tt&gt; project changed and a downstream project fails to update the URLs being used to retrieve artifacts.  For any project that really wants &quot;the actual stable release such and such&quot;, they can use tag-based URLs now and it would be incumbent upon the project in question to update URLs to point to a newer release according to their own development and configuration management policies.&lt;/p&gt;

&lt;p&gt;Clearly, if we expand the scope of this ticket in the way I am suggestion, we will need to make sure that downstream users are aware of the change before it takes place.  Otherwise, they will be stuck with stale artifacts.  One other thing to note: given that 1.5.0 was just released and the &lt;tt&gt;r1.5&lt;/tt&gt; branch just created, I think it makes sense to leave the artifact locations as they are for that branch.  The changes I am proposing would be only for &lt;tt&gt;master&lt;/tt&gt; now, and then for &lt;tt&gt;r1.6&lt;/tt&gt; and later release branches.&lt;/p&gt;

&lt;p&gt;Is this something that seems worthwhile?  If so, what is the best way to ensure that everyone who might be affected is warned appropriately?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1662996">MONGOCRYPT-315</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                <customfield id="customfield_21957" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Binding Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="22966"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0g5z4:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>