<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:28:06 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-3433] provide Dockerfile-ish access to GitHub Actions CI images</title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-3433</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;&lt;b&gt;Summary:&lt;/b&gt; Provide a mechanism by which developers can download the GitHub actions image so devs can exactly match the GA env when running tests locally.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Details:&lt;/b&gt; It would be awesome if we had a way to replicate the CI environment locally, as we did with Docker when we built on Jenkins. I believe the &lt;a href=&quot;https://github.com/actions/virtual-environments&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;virtual-environments repo contains all this info&lt;/a&gt;, and I&#8217;m hopeful somebody with more knowhow than I will look at that and say, &#8220;Oh sure, it&#8217;s easy if you know how.&#8221; &lt;/p&gt;</description>
                <environment></environment>
        <key id="79719">FOLIO-3433</key>
            <summary>provide Dockerfile-ish access to GitHub Actions CI images</summary>
                <type id="10002" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10322?size=medium">New Feature</type>
                                            <priority id="10002" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p3.svg">P3</priority>
                        <status id="1" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                                        <assignee accountid="-1">Unassigned</assignee>
                                                                <reporter accountid="615afd1cd9820f0070a09ef0">Zak Burke</reporter>
                                    <labels>
                    </labels>
                <created>Mon, 28 Feb 2022 16:31:54 +0000</created>
                <updated>Thu, 30 Nov 2023 16:42:54 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                <comments>
                                                            <comment id="189810" author="615afd1cd9820f0070a09ef0" created="Tue, 24 May 2022 13:34:14 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3Aff6a9612-bb35-41b2-88a8-a5b66d0a41a0&quot; class=&quot;user-hover&quot; rel=&quot;557058:ff6a9612-bb35-41b2-88a8-a5b66d0a41a0&quot; data-account-id=&quot;557058:ff6a9612-bb35-41b2-88a8-a5b66d0a41a0&quot; accountid=&quot;557058:ff6a9612-bb35-41b2-88a8-a5b66d0a41a0&quot; rel=&quot;noreferrer&quot;&gt;Michal Kuklis&lt;/a&gt; pointed me to &lt;a href=&quot;https://github.com/nektos/act&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;nektos/act&lt;/a&gt;, &quot;Run your GitHub Actions locally ��&quot;, which may be something of a magic bullet here. From the README:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;When you run act it reads in your GitHub Actions from .github/workflows/ and determines the set of actions that need to be run. It uses the Docker API to either pull or build the necessary images, as defined in your workflow files and finally determines the execution path based on the dependencies that were defined. Once it has the execution path, it then uses the Docker API to run containers for each action based on the images prepared earlier. The environment variables and filesystem are all configured to match what GitHub provides.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The attached &lt;tt&gt;test-local.yml&lt;/tt&gt; job (omits all the &quot;Publish...&quot; steps, installs &lt;tt&gt;yarn&lt;/tt&gt;) was ultimately unsuccessful due to some missing/unconfigured tools, but it&apos;s most of the way there and maybe can be fixed by running against a larger or different Docker image &lt;a href=&quot;https://github.com/nektos/act/issues/280&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;as suggested by others who found yarn absent&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
$ act -j test-local -s GITHUB_TOKEN
Provide value &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-quote&quot;&gt;&apos;GITHUB_TOKEN&apos;&lt;/span&gt;: 
...
[buildNPM Snapshot/test-local] &#11088;  Run Run yarn lint
[buildNPM Snapshot/test-local]   ��  docker exec cmd=[bash --noprofile --norc -e -o pipefail /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/run/act/workflow/8] user= workdir=
yarn run v1.22.18
$ eslint . &amp;amp;&amp;amp; stylelint &lt;span class=&quot;code-quote&quot;&gt;&quot;src&lt;span class=&quot;code-comment&quot;&gt;/**/&lt;/span&gt;*.css&quot;&lt;/span&gt;
| 
| Oops! Something went wrong! :(
| 
| ESLint: 7.32.0
| 
| Error: .eslintrc:
| 	Environment key &lt;span class=&quot;code-quote&quot;&gt;&quot;jest/globals&quot;&lt;/span&gt; is unknown
| 
|     at /Users/zburke/projects/folio-org/stripes-core/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:175:23
|     at Array.forEach (&amp;lt;anonymous&amp;gt;)
|     at ConfigValidator.validateEnvironment (/Users/zburke/projects/folio-org/stripes-core/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:169:34)
|     at ConfigValidator.validateConfigArray (/Users/zburke/projects/folio-org/stripes-core/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:319:18)
|     at CascadingConfigArrayFactory._finalizeConfigArray (/Users/zburke/projects/folio-org/stripes-core/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js:493:23)
|     at CascadingConfigArrayFactory.getConfigArrayForFile (/Users/zburke/projects/folio-org/stripes-core/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js:299:21)
|     at FileEnumerator._iterateFilesRecursive (/Users/zburke/projects/folio-org/stripes-core/node_modules/eslint/lib/cli-engine/file-enumerator.js:445:49)
|     at _iterateFilesRecursive.next (&amp;lt;anonymous&amp;gt;)
|     at FileEnumerator.iterateFiles (/Users/zburke/projects/folio-org/stripes-core/node_modules/eslint/lib/cli-engine/file-enumerator.js:296:49)
|     at iterateFiles.next (&amp;lt;anonymous&amp;gt;)
error Command failed with exit code 2.
info Visit https:&lt;span class=&quot;code-comment&quot;&gt;//yarnpkg.com/en/docs/cli/run &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; documentation about &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; command.
&lt;/span&gt;[buildNPM Snapshot/test-local]   &#10060;  Failure - Run yarn lint
[buildNPM Snapshot/test-local] Failed but &lt;span class=&quot;code-keyword&quot;&gt;continue&lt;/span&gt; next step
[buildNPM Snapshot/test-local] &#11088;  Run Run yarn formatjs-compile
[buildNPM Snapshot/test-local]   ��  docker exec cmd=[bash --noprofile --norc -e -o pipefail /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/run/act/workflow/9] user= workdir=
yarn run v1.22.18
$ formatjs compile-folder --ast --format simple ./translations/stripes-core ./translations/stripes-core/compiled
Done in 1.24s.
[buildNPM Snapshot/test-local]   &#9989;  Success - Run yarn formatjs-compile
[buildNPM Snapshot/test-local] &#11088;  Run Run yarn test
[buildNPM Snapshot/test-local]   ��  docker exec cmd=[bash --noprofile --norc -e -o pipefail /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/run/act/workflow/10] user= workdir=
| /&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;/run/act/workflow/10: line 2: xvfb-run: command not found
[buildNPM Snapshot/test-local]   &#10060;  Failure - Run yarn test
[buildNPM Snapshot/test-local] exit with `FAILURE`: 127
Error: Job &lt;span class=&quot;code-quote&quot;&gt;&apos;test-local&apos;&lt;/span&gt; failed
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="82239">FOLIO-3432</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="82240">FOLIO-3434</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="63929" name="test-local.yml" size="3452" author="615afd1cd9820f0070a09ef0" created="Tue, 24 May 2022 13:17:28 +0000"/>
                    </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_10063" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>PO Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzx1aq:i</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="2000">DevOps Sprint 135</customfieldvalue>
    <customfieldvalue id="2001">DevOps Sprint 136</customfieldvalue>
    <customfieldvalue id="2002">DevOps Sprint 137</customfieldvalue>
    <customfieldvalue id="236">Kitfox: sprint 165</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>