<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:24:16 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 add field=key&field=summary to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>FOLIO Jira</title>
    <link>https://folio-org.atlassian.net</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>1001.0.0-SNAPSHOT</version>
        <build-number>100246</build-number>
        <build-date>07-02-2024</build-date>
    </build-info>

<item>
            <title>[FOLIO-2925] Jenkins infrastructure for mod-copycat</title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-2925</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;Jenkins infrastructure for mod-copycat&lt;/p&gt;

&lt;p&gt;1. YAZ&lt;/p&gt;

&lt;p&gt;yaz is easy.. Exists as package already. So I guess it would be no big deal to just have it installed af part of the Jenkins image (or what it&apos;s called).&lt;/p&gt;

&lt;p&gt;2 yaz4j.. Consists of yaz4j.jar + DLL/so .. (libyaz4j.so).&lt;/p&gt;

&lt;p&gt;yaz4j artifact needs to be published. Where? libyaz4j.so needs to be installed. It does NOT exist as a package anywhere. Could make a Debian package. yaz4j script could also be part of the mod-copycat Jenkins file somehow.. Ie a recipi for compilation and install. That would make a one time deal (JAR + SO together).&lt;/p&gt;

&lt;p&gt;Dockerfile for inspiration: &lt;a href=&quot;https://github.com/folio-org/mod-copycat/blob/integrate-yaz4j/Dockerfile&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/folio-org/mod-copycat/blob/integrate-yaz4j/Dockerfile&lt;/a&gt;&lt;br/&gt;
(builds everything because it&apos;s Alpine and no YAZ package for that)&lt;/p&gt;
</description>
                <environment></environment>
        <key id="81885">FOLIO-2925</key>
            <summary>Jenkins infrastructure for mod-copycat</summary>
                <type id="10003" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium">Task</type>
                                            <priority id="10002" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p3.svg">P3</priority>
                        <status id="6" iconUrl="https://folio-org.atlassian.net/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="green"/>
                                    <resolution id="10003">Done</resolution>
                                                        <assignee accountid="5cd423bebc70090d6ce241b1">Ian Hardy</assignee>
                                                                <reporter accountid="5f8314dfbdef80006f6f572d">Adam Dickmeiss</reporter>
                                    <labels>
                    </labels>
                <created>Tue, 22 Dec 2020 13:59:45 +0000</created>
                <updated>Fri, 8 Jan 2021 15:10:18 +0000</updated>
                            <resolved>Wed, 30 Dec 2020 13:45:09 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                <comments>
                                                            <comment id="198570" author="557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d" created="Tue, 22 Dec 2020 14:28:55 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5c706fbb47a54a6728e59df2&quot; class=&quot;user-hover&quot; rel=&quot;5c706fbb47a54a6728e59df2&quot; data-account-id=&quot;5c706fbb47a54a6728e59df2&quot; accountid=&quot;5c706fbb47a54a6728e59df2&quot; rel=&quot;noreferrer&quot;&gt;Wayne Schneider&lt;/a&gt; &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5f8314dfbdef80006f6f572d&quot; class=&quot;user-hover&quot; rel=&quot;5f8314dfbdef80006f6f572d&quot; data-account-id=&quot;5f8314dfbdef80006f6f572d&quot; accountid=&quot;5f8314dfbdef80006f6f572d&quot; rel=&quot;noreferrer&quot;&gt;Adam Dickmeiss&lt;/a&gt; &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5cd423bebc70090d6ce241b1&quot; class=&quot;user-hover&quot; rel=&quot;5cd423bebc70090d6ce241b1&quot; data-account-id=&quot;5cd423bebc70090d6ce241b1&quot; accountid=&quot;5cd423bebc70090d6ce241b1&quot; rel=&quot;noreferrer&quot;&gt;Ian Hardy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We have decided that Adam will  make a deb package for yaz4j. This package must be added to the Jenkins build image so that mod-copycat can be built.&lt;/p&gt;

&lt;p&gt;mod-copycat runtime Docker image already includes yaz and yaz4j.&lt;/p&gt;</comment>
                                                            <comment id="198572" author="5cd423bebc70090d6ce241b1" created="Tue, 29 Dec 2020 21:22:12 +0000"  >&lt;p&gt;libyaz5 is installed on the folioci/jenkins-slave-all:java-11 image, which gets called when &quot;buildNode = &apos;jenkins-agent-java11&apos;&quot; is specified in the Jenkinsfile. &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5f8314dfbdef80006f6f572d&quot; class=&quot;user-hover&quot; rel=&quot;5f8314dfbdef80006f6f572d&quot; data-account-id=&quot;5f8314dfbdef80006f6f572d&quot; accountid=&quot;5f8314dfbdef80006f6f572d&quot; rel=&quot;noreferrer&quot;&gt;Adam Dickmeiss&lt;/a&gt; lmk if thats enought to get mod-copycat going.&lt;/p&gt;</comment>
                                                            <comment id="198574" author="63e2a2771b13d42998e4e706" created="Wed, 30 Dec 2020 11:54:36 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5cf6c546b87c300f36eb7b9a&quot; class=&quot;user-hover&quot; rel=&quot;5cf6c546b87c300f36eb7b9a&quot; data-account-id=&quot;5cf6c546b87c300f36eb7b9a&quot; accountid=&quot;5cf6c546b87c300f36eb7b9a&quot; rel=&quot;noreferrer&quot;&gt;Craig McNally&lt;/a&gt; Could this be an example of development tooling decisions?&lt;/p&gt;</comment>
                                                            <comment id="198575" author="5cf6c546b87c300f36eb7b9a" created="Mon, 4 Jan 2021 13:53:27 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=63e2a2771b13d42998e4e706&quot; class=&quot;user-hover&quot; rel=&quot;63e2a2771b13d42998e4e706&quot; data-account-id=&quot;63e2a2771b13d42998e4e706&quot; accountid=&quot;63e2a2771b13d42998e4e706&quot; rel=&quot;noreferrer&quot;&gt;Marc Johnson&lt;/a&gt; certainly.  It would be nice if we captured these sorts of things in the &lt;a href=&quot;https://folio-org.atlassian.net/wiki/display/DD/Decision+log&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;decision log&lt;/a&gt;.&lt;/p&gt;</comment>
                                                            <comment id="198577" author="5f8314dfbdef80006f6f572d" created="Mon, 4 Jan 2021 16:03:38 +0000"  >&lt;p&gt;So what makes this a tooling decision? That mod-copycat that needs a shared object like libyaz5?&lt;/p&gt;

&lt;p&gt;We could have probably avoided libyaz5 if we used a custom container for the Jenkins build.&lt;/p&gt;

&lt;p&gt;It&apos;s tiny, though, compared to things like firefox, chrome, xvfb, that are also installed.&lt;/p&gt;</comment>
                                                            <comment id="198578" author="63e2a2771b13d42998e4e706" created="Fri, 8 Jan 2021 14:19:03 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5f8314dfbdef80006f6f572d&quot; class=&quot;user-hover&quot; rel=&quot;5f8314dfbdef80006f6f572d&quot; data-account-id=&quot;5f8314dfbdef80006f6f572d&quot; accountid=&quot;5f8314dfbdef80006f6f572d&quot; rel=&quot;noreferrer&quot;&gt;Adam Dickmeiss&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;So what makes this a tooling decision? That mod-copycat that needs a shared object like libyaz5?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;In the &lt;a href=&quot;https://docs.google.com/presentation/d/1y0xil4ThREq2mmuVtx1LxiPnvuGwVbBt65LV8EkU9zQ/edit#slide=id.ga244cf9b05_2_230&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;new technical decision process&lt;/a&gt;, two of the examples of decisions are&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Introduction of new 3rd party dependencies, e.g. Spring, lombok, jooq, etc.&lt;/li&gt;
	&lt;li&gt;Introduction of tools or dependencies that require devOps to adjust build processes&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;To me, this covers both of these, in the sense that &lt;tt&gt;libyaz5&lt;/tt&gt; is a new 3rd party dependency and it&apos;s introduction involved the DevOps team needing to make changes.&lt;/p&gt;

&lt;p&gt;As far as I can tell it also means that this module cannot be maintained by a developer using a mac (at least the native part of yaz4j is only &lt;a href=&quot;https://github.com/indexdata/yaz4j/blob/master/README.md&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;supported&lt;/a&gt; on linux and windows)&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;We could have probably avoided libyaz5 if we used a custom container for the Jenkins build.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;To me, that would still have meant changes were needed to the Jenkins build processes by the DevOps folks and so would still be considered a technical design decision&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;It&apos;s tiny, though, compared to things like firefox, chrome, xvfb, that are also installed.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Agreed. Had we had this process in place for those, I would probably have asked the same question.&lt;/p&gt;

&lt;p&gt;cc: &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5cf6c546b87c300f36eb7b9a&quot; class=&quot;user-hover&quot; rel=&quot;5cf6c546b87c300f36eb7b9a&quot; data-account-id=&quot;5cf6c546b87c300f36eb7b9a&quot; accountid=&quot;5cf6c546b87c300f36eb7b9a&quot; rel=&quot;noreferrer&quot;&gt;Craig McNally&lt;/a&gt; &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3Ab8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; class=&quot;user-hover&quot; rel=&quot;557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; data-account-id=&quot;557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; accountid=&quot;557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; rel=&quot;noreferrer&quot;&gt;Jakub Skoczen&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummarycf">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10057" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Development Team</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10155"><![CDATA[FOLIO DevOps]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i0265b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1884">DevOps: Sprint 104</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 22 Dec 2020 14:28:55 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10025" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>[CHART] Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>