<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/.github/workflows/ci.yml, branch fix_20726</title>
<subtitle>Neovim fork with Rahm's personal hacks.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/'/>
<entry>
<title>ci: split ci.yml into a test workflow and a build test workflow (#22302)</title>
<updated>2023-02-18T09:47:22+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2023-02-18T09:47:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=fc8c77a69f01eb1eac0a1b4373ae1bb7f81d1629'/>
<id>fc8c77a69f01eb1eac0a1b4373ae1bb7f81d1629</id>
<content type='text'>
Having a workflow that only builds neovim without running all of the
tests is a cheap way to test the build still works without burning too
much CI time.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Having a workflow that only builds neovim without running all of the
tests is a cheap way to test the build still works without burning too
much CI time.</pre>
</div>
</content>
</entry>
<entry>
<title>ci: change functionaltest timeout to 20 minutes (#22294)</title>
<updated>2023-02-17T03:06:56+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-02-17T03:06:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=d079c8cc5d2f15742fbda4040ac2e11a9cba615b'/>
<id>d079c8cc5d2f15742fbda4040ac2e11a9cba615b</id>
<content type='text'>
15 minutes is too short for TSAN.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
15 minutes is too short for TSAN.</pre>
</div>
</content>
</entry>
<entry>
<title>ci: add GCC Release testing (#22274)</title>
<updated>2023-02-15T23:15:09+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2023-02-15T23:15:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=f1c5887377c9ae547a7564ec4fc52d72656a974f'/>
<id>f1c5887377c9ae547a7564ec4fc52d72656a974f</id>
<content type='text'>
ci: add GCC release testing

We currently have no release testing, so it's good to check for any
unwanted behavior on release builds as well. Prefer GCC over clang, as
GCC release builds seem to create more warnings on release compared to
debug.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ci: add GCC release testing

We currently have no release testing, so it's good to check for any
unwanted behavior on release builds as well. Prefer GCC over clang, as
GCC release builds seem to create more warnings on release compared to
debug.</pre>
</div>
</content>
</entry>
<entry>
<title>ci: automatically maximize MIN_LOG_LEVEL if CI detected (#22248)</title>
<updated>2023-02-13T19:04:54+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2023-02-13T19:04:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=bb9c673d2cf022e75d1d34d2b2dd12a1e41dc6ac'/>
<id>bb9c673d2cf022e75d1d34d2b2dd12a1e41dc6ac</id>
<content type='text'>
Detect if on CI by checking that the CI environment variable is set to "true".
This is a common pattern among CI providers, including github actions and
cirrus.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Detect if on CI by checking that the CI environment variable is set to "true".
This is a common pattern among CI providers, including github actions and
cirrus.</pre>
</div>
</content>
</entry>
<entry>
<title>ci: replace cmake script with bash script (#22246)</title>
<updated>2023-02-13T17:26:01+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2023-02-13T17:26:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=9de9bd4bedde734e6b795e899e78b5417bc82fe4'/>
<id>9de9bd4bedde734e6b795e899e78b5417bc82fe4</id>
<content type='text'>
Bash has better error handling than cmake, and seem overall slightly
more suited to scripting than cmake.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bash has better error handling than cmake, and seem overall slightly
more suited to scripting than cmake.</pre>
</div>
</content>
</entry>
<entry>
<title>ci: install dependencies with a single script (#22241)</title>
<updated>2023-02-12T21:09:10+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2023-02-12T21:09:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=5d3769ea2343a30c60963011bef85346320bd97c'/>
<id>5d3769ea2343a30c60963011bef85346320bd97c</id>
<content type='text'>
It's easier if the os-specific installations are done by the script itself</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's easier if the os-specific installations are done by the script itself</pre>
</div>
</content>
</entry>
<entry>
<title>ci: inline external environment scripts (#22237)</title>
<updated>2023-02-12T17:08:37+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2023-02-12T17:08:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=477d4bbf5f01e5c001a887ed6842e56b5341e976'/>
<id>477d4bbf5f01e5c001a887ed6842e56b5341e976</id>
<content type='text'>
Scripts that define the build itself shouldn't be external as they lead
to hard to find bugs.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Scripts that define the build itself shouldn't be external as they lead
to hard to find bugs.</pre>
</div>
</content>
</entry>
<entry>
<title>ci: convert environment variables to matrix variables (#22224)</title>
<updated>2023-02-12T12:09:46+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2023-02-12T12:09:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=c099836168fd669372895bb9bfa16522b5972134'/>
<id>c099836168fd669372895bb9bfa16522b5972134</id>
<content type='text'>
Having as few indirections as possible makes it easier to understand the
code.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Having as few indirections as possible makes it easier to understand the
code.</pre>
</div>
</content>
</entry>
<entry>
<title>ci: delete ci/ (#22227)</title>
<updated>2023-02-12T10:50:08+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2023-02-12T10:50:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=e81b4274fc18de4be753c07db642111129ff84ee'/>
<id>e81b4274fc18de4be753c07db642111129ff84ee</id>
<content type='text'>
Having CI scripts that is separate from the build system causes
tremendous amounts of problems, headaches and bugs. Testing the validity
of the scripts locally become near impossible as time goes on as they're
only vetted if it works on whatever CI provider we happened to have at
the time, with their own quirks and behavior.

The extra indirection between "cmake &lt;-&gt; general CI scripts &lt;-&gt; GHA" is
also a frequent source of problems, as the orchestration needs to be
done with environment variables, cmake flags and github actions matrix
strategy. This combination has turned out to be exceptionally fragile.

Examples:
https://github.com/neovim/neovim/commit/15394b6855c3b17be06bf2bfbac7797d9c3ebf1d
https://github.com/neovim/neovim/commit/13aa23b62af4df3e7f10687b76fe8c04efa2a598
https://github.com/neovim/neovim/pull/22072#discussion_r1094390713

A lot of the code was inlined to .github/workflows/ci.yml without
further modifications. While this in itself doesn't integrate with our
build system any more than the current situation, it does
1. remove a level of indirection, and more importantly
2. allow us to slowly start integrating the CI into our build system now
   that all the relevant code is in one place.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Having CI scripts that is separate from the build system causes
tremendous amounts of problems, headaches and bugs. Testing the validity
of the scripts locally become near impossible as time goes on as they're
only vetted if it works on whatever CI provider we happened to have at
the time, with their own quirks and behavior.

The extra indirection between "cmake &lt;-&gt; general CI scripts &lt;-&gt; GHA" is
also a frequent source of problems, as the orchestration needs to be
done with environment variables, cmake flags and github actions matrix
strategy. This combination has turned out to be exceptionally fragile.

Examples:
https://github.com/neovim/neovim/commit/15394b6855c3b17be06bf2bfbac7797d9c3ebf1d
https://github.com/neovim/neovim/commit/13aa23b62af4df3e7f10687b76fe8c04efa2a598
https://github.com/neovim/neovim/pull/22072#discussion_r1094390713

A lot of the code was inlined to .github/workflows/ci.yml without
further modifications. While this in itself doesn't integrate with our
build system any more than the current situation, it does
1. remove a level of indirection, and more importantly
2. allow us to slowly start integrating the CI into our build system now
   that all the relevant code is in one place.</pre>
</div>
</content>
</entry>
<entry>
<title>ci: show all logs at the end of a run (#22226)</title>
<updated>2023-02-11T17:16:04+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2023-02-11T17:16:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=3a5dddf24f9d4d8959194b0cd3c6a7dd0cbd73ae'/>
<id>3a5dddf24f9d4d8959194b0cd3c6a7dd0cbd73ae</id>
<content type='text'>
* ci: show all logs at the end of a run

The current CI won't show the logs on error due to early exit. This will
at least show the logs, although for all tests at once.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* ci: show all logs at the end of a run

The current CI won't show the logs on error due to early exit. This will
at least show the logs, although for all tests at once.</pre>
</div>
</content>
</entry>
</feed>
