<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/.github/actions/launchable/setup, branch v4.0.4</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>CI: Launchable: Fix errors at actions/setup-python on ppc64le/s390x</title>
<updated>2025-10-17T09:37:15+00:00</updated>
<author>
<name>Jun Aruga</name>
<email>jaruga@redhat.com</email>
</author>
<published>2025-10-09T14:52:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=943b5f66f7b2e90c349b1751b489b9881f6c26bc'/>
<id>943b5f66f7b2e90c349b1751b489b9881f6c26bc</id>
<content type='text'>
The following errors happened at the actions/setup-python step.

https://github.com/ruby/ruby/actions/runs/18229870239

&gt; The version '3.x' with architecture 's390x' was not found for Ubuntu 24.04.
&gt; The list of all available versions can be found here: https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json

&gt; The version '3.x' with architecture 'ppc64' was not found for Ubuntu 24.04.
&gt; The list of all available versions can be found here: https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json

After skipping the actions/setup-python step, the following errors also
happened at the actions/setup-java step.

https://github.com/ruby/ruby/actions/runs/18355975425?pr=14721

&gt; make-ibm (check, ubuntu-24.04-ppc64le)
&gt; Could not find satisfied version for SemVer '17'.

&gt; make-ibm (check, ubuntu-24.04-s390x)
&gt; The process '/usr/bin/bash' failed with exit code 1

&gt; make-ibm (check, ubuntu-24.04-s390x)
&gt; Process completed with exit code 127.

To fix the errors, I started using the Java distribution semeru (IBM Semeru
Runtime Open Edition) on the ppc64le/s390x cases.

You can see the following page for the details of the Java distribution semeru.

https://github.com/actions/setup-java?tab=readme-ov-file#supported-distributions
https://github.com/actions/setup-java/blob/ead9eaa3cfe0b0fc2fa749519ae09c3d4f4080b0/src/distributions/semeru/installer.ts#L20-L27
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The following errors happened at the actions/setup-python step.

https://github.com/ruby/ruby/actions/runs/18229870239

&gt; The version '3.x' with architecture 's390x' was not found for Ubuntu 24.04.
&gt; The list of all available versions can be found here: https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json

&gt; The version '3.x' with architecture 'ppc64' was not found for Ubuntu 24.04.
&gt; The list of all available versions can be found here: https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json

After skipping the actions/setup-python step, the following errors also
happened at the actions/setup-java step.

https://github.com/ruby/ruby/actions/runs/18355975425?pr=14721

&gt; make-ibm (check, ubuntu-24.04-ppc64le)
&gt; Could not find satisfied version for SemVer '17'.

&gt; make-ibm (check, ubuntu-24.04-s390x)
&gt; The process '/usr/bin/bash' failed with exit code 1

&gt; make-ibm (check, ubuntu-24.04-s390x)
&gt; Process completed with exit code 127.

To fix the errors, I started using the Java distribution semeru (IBM Semeru
Runtime Open Edition) on the ppc64le/s390x cases.

You can see the following page for the details of the Java distribution semeru.

https://github.com/actions/setup-java?tab=readme-ov-file#supported-distributions
https://github.com/actions/setup-java/blob/ead9eaa3cfe0b0fc2fa749519ae09c3d4f4080b0/src/distributions/semeru/installer.ts#L20-L27
</pre>
</div>
</content>
</entry>
<entry>
<title>Launchable: Remove `launchable subset` command (#13969)</title>
<updated>2025-07-23T02:18:11+00:00</updated>
<author>
<name>Naoto Ono</name>
<email>onoto1998@gmail.com</email>
</author>
<published>2025-07-23T02:18:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fbaad485db4259497aeac93a296b25432c198fdd'/>
<id>fbaad485db4259497aeac93a296b25432c198fdd</id>
<content type='text'>
I've enabled the [Predictive Test Selection](https://www.launchableinc.com/docs/features/predictive-test-selection/) feature, which let machine-learning model selects the appropriate tests to reduce CI execution time in https://github.com/ruby/ruby/pull/12617.

However, I noticed that there are some problems for enabling PTS in Ruby CI after several experiments. Until fixing the problem, I'll disable this feature by removing `launchable subset` command.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I've enabled the [Predictive Test Selection](https://www.launchableinc.com/docs/features/predictive-test-selection/) feature, which let machine-learning model selects the appropriate tests to reduce CI execution time in https://github.com/ruby/ruby/pull/12617.

However, I noticed that there are some problems for enabling PTS in Ruby CI after several experiments. Until fixing the problem, I'll disable this feature by removing `launchable subset` command.</pre>
</div>
</content>
</entry>
<entry>
<title>CI: Run Launchable in the build directory</title>
<updated>2025-06-20T08:40:59+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-06-06T05:16:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=896f9f6328aa50c1f7ccbaf4103626d0701680b6'/>
<id>896f9f6328aa50c1f7ccbaf4103626d0701680b6</id>
<content type='text'>
As well as compilers/entrypoint.sh.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As well as compilers/entrypoint.sh.
</pre>
</div>
</content>
</entry>
<entry>
<title>CI: Extract `launchable_setup` function</title>
<updated>2025-06-19T12:17:56+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-06-16T10:14:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=82dfd44f937616ff31971f2d1e12a35bd022612c'/>
<id>82dfd44f937616ff31971f2d1e12a35bd022612c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>CI: Store session info in variables directly</title>
<updated>2025-06-19T12:17:55+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-06-16T05:30:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=87d33583af2d095b5adbd5ba3765cfdf23767c34'/>
<id>87d33583af2d095b5adbd5ba3765cfdf23767c34</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a missing double quote</title>
<updated>2025-06-15T11:58:06+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-06-15T11:58:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b670a04ac7f92c26dc8ecad4ccbb31a171a76d6e'/>
<id>b670a04ac7f92c26dc8ecad4ccbb31a171a76d6e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>CI: Split cleanups of Launchable generated files</title>
<updated>2025-06-06T05:03:32+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-06-06T01:44:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=78d2a2308f58447688e078f8da7e63611d895837'/>
<id>78d2a2308f58447688e078f8da7e63611d895837</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>CI: Create report files only when Launchable setup succeeded</title>
<updated>2025-06-05T23:00:51+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-06-05T17:43:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=296a0d0b7c58bca218fbec0cc1711e76747ab15d'/>
<id>296a0d0b7c58bca218fbec0cc1711e76747ab15d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Launchable: Set env variables to prevent CI slowdowns (#13513)</title>
<updated>2025-06-04T11:59:40+00:00</updated>
<author>
<name>Naoto Ono</name>
<email>onoto1998@gmail.com</email>
</author>
<published>2025-06-04T11:59:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a4dc778a5e700a16705ab11a1311d5172adf83ed'/>
<id>a4dc778a5e700a16705ab11a1311d5172adf83ed</id>
<content type='text'>
When Launchable in unstable, the round trip time takes a long time, which slows down CI execution. In this PR I configured the environment variable `LAUNCHABLE_COMMIT_TIMEOUT` to configure the timeout.

https://github.com/launchableinc/cli/pull/1015</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When Launchable in unstable, the round trip time takes a long time, which slows down CI execution. In this PR I configured the environment variable `LAUNCHABLE_COMMIT_TIMEOUT` to configure the timeout.

https://github.com/launchableinc/cli/pull/1015</pre>
</div>
</content>
</entry>
<entry>
<title>Launchable: Disable request retries when a timeout exception occurs (#12877)</title>
<updated>2025-03-12T02:34:03+00:00</updated>
<author>
<name>Naoto Ono</name>
<email>onoto1998@gmail.com</email>
</author>
<published>2025-03-12T02:34:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c68088038fb4555b821a5e60ab529843074014d1'/>
<id>c68088038fb4555b821a5e60ab529843074014d1</id>
<content type='text'>
When a Launchable server is unstable, a ReadTimeoutException occurs in the Launchable CLI. In such case, the Launchable CLI retries requests, which slows down CI execution. In this PR, I configured the environment variable SKIP_TIMEOUT_RETRY to disable retry attempts on requests(Link: https://github.com/launchableinc/cli/pull/992).

```
WARNING:urllib3.connectionpool:Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Read timed out. (read timeout=15)")': /intake/organizations/ruby/workspaces/ruby/commits/collect/options
  WARNING:urllib3.connectionpool:Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Read timed out. (read timeout=15)")': /intake/organizations/ruby/workspaces/ruby/commits/collect/options
  WARNING:urllib3.connectionpool:Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Read timed out. (read timeout=15)")': /intake/organizations/ruby/workspaces/ruby/commits/collect/options
  HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Max retries exceeded with url: /intake/organizations/ruby/workspaces/ruby/commits/collect/options (Caused by ReadTimeoutError("HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Read timed out. (read timeout=15)"))
  Exception in thread "main" javax.net.ssl.SSLException: Connection reset
  	at sun.security.ssl.Alert.createSSLException(Alert.java:127)
  	at sun.security.ssl.TransportContext.fatal(TransportContext.java:331)
  	at sun.security.ssl.TransportContext.fatal(TransportContext.java:274)
  	at sun.security.ssl.TransportContext.fatal(TransportContext.java:269)
  	at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1572)
  	at sun.security.ssl.SSLSocketImpl.access$400(SSLSocketImpl.java:73)
  	at sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:982)
  	at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
  	at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
  	at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:280)
  	at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
  	at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
  	at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
  	at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
  	at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157)
  	at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
  	at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
  	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
  	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
  	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
  	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
  	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
  	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
  	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
  	at com.launchableinc.ingest.commits.CommitGraphCollector.transfer(CommitGraphCollector.java:131)
  	at com.launchableinc.ingest.commits.CommitIngester.run(CommitIngester.java:145)
  	at com.launchableinc.ingest.commits.CommitIngester.main(CommitIngester.java:72)
  	Suppressed: java.net.SocketException: Broken pipe (Write failed)
  		at java.net.SocketOutputStream.socketWrite0(Native Method)
  		at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
  		at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
  		at sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:81)
  		at sun.security.ssl.TransportContext.fatal(TransportContext.java:362)
  		... 25 more
  Caused by: java.net.SocketException: Connection reset
  	at java.net.SocketInputStream.read(SocketInputStream.java:210)
  	at java.net.SocketInputStream.read(SocketInputStream.java:141)
  	at sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:464)
  	at sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
  	at sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1350)
  	at sun.security.ssl.SSLSocketImpl.access$300(SSLSocketImpl.java:73)
  	at sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:966)
  	... 20 more
  Couldn't get commit history from `/github/workspace/src`. Do you run command root of git-controlled directory? If not, please set a directory use by --source option.
  HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Read timed out. (read timeout=60)
  Command '['java', '-jar', '/root/.local/pipx/venvs/launchable/lib/python3.10/site-packages/launchable/jar/exe_deploy.jar', 'ingest:commit', '-endpoint', 
```

https://github.com/ruby/ruby/actions/runs/13572112090/job/37939529243</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a Launchable server is unstable, a ReadTimeoutException occurs in the Launchable CLI. In such case, the Launchable CLI retries requests, which slows down CI execution. In this PR, I configured the environment variable SKIP_TIMEOUT_RETRY to disable retry attempts on requests(Link: https://github.com/launchableinc/cli/pull/992).

```
WARNING:urllib3.connectionpool:Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Read timed out. (read timeout=15)")': /intake/organizations/ruby/workspaces/ruby/commits/collect/options
  WARNING:urllib3.connectionpool:Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Read timed out. (read timeout=15)")': /intake/organizations/ruby/workspaces/ruby/commits/collect/options
  WARNING:urllib3.connectionpool:Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Read timed out. (read timeout=15)")': /intake/organizations/ruby/workspaces/ruby/commits/collect/options
  HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Max retries exceeded with url: /intake/organizations/ruby/workspaces/ruby/commits/collect/options (Caused by ReadTimeoutError("HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Read timed out. (read timeout=15)"))
  Exception in thread "main" javax.net.ssl.SSLException: Connection reset
  	at sun.security.ssl.Alert.createSSLException(Alert.java:127)
  	at sun.security.ssl.TransportContext.fatal(TransportContext.java:331)
  	at sun.security.ssl.TransportContext.fatal(TransportContext.java:274)
  	at sun.security.ssl.TransportContext.fatal(TransportContext.java:269)
  	at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1572)
  	at sun.security.ssl.SSLSocketImpl.access$400(SSLSocketImpl.java:73)
  	at sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:982)
  	at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
  	at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
  	at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:280)
  	at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
  	at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
  	at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
  	at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
  	at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157)
  	at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
  	at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
  	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
  	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
  	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
  	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
  	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
  	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
  	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
  	at com.launchableinc.ingest.commits.CommitGraphCollector.transfer(CommitGraphCollector.java:131)
  	at com.launchableinc.ingest.commits.CommitIngester.run(CommitIngester.java:145)
  	at com.launchableinc.ingest.commits.CommitIngester.main(CommitIngester.java:72)
  	Suppressed: java.net.SocketException: Broken pipe (Write failed)
  		at java.net.SocketOutputStream.socketWrite0(Native Method)
  		at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
  		at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
  		at sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:81)
  		at sun.security.ssl.TransportContext.fatal(TransportContext.java:362)
  		... 25 more
  Caused by: java.net.SocketException: Connection reset
  	at java.net.SocketInputStream.read(SocketInputStream.java:210)
  	at java.net.SocketInputStream.read(SocketInputStream.java:141)
  	at sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:464)
  	at sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
  	at sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1350)
  	at sun.security.ssl.SSLSocketImpl.access$300(SSLSocketImpl.java:73)
  	at sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:966)
  	... 20 more
  Couldn't get commit history from `/github/workspace/src`. Do you run command root of git-controlled directory? If not, please set a directory use by --source option.
  HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Read timed out. (read timeout=60)
  Command '['java', '-jar', '/root/.local/pipx/venvs/launchable/lib/python3.10/site-packages/launchable/jar/exe_deploy.jar', 'ingest:commit', '-endpoint', 
```

https://github.com/ruby/ruby/actions/runs/13572112090/job/37939529243</pre>
</div>
</content>
</entry>
</feed>
