* [XEN PATCH] automation: Avoid changing source files for randconfig tests
@ 2025-03-26 14:28 Anthony PERARD
2025-03-27 2:10 ` Stefano Stabellini
0 siblings, 1 reply; 6+ messages in thread
From: Anthony PERARD @ 2025-03-26 14:28 UTC (permalink / raw)
To: xen-devel; +Cc: Anthony PERARD, Doug Goldstein, Stefano Stabellini
We should avoid changing files from the source tree if we don't intend
to commit the result.
We don't really need to check if $EXTRA_FIXED_RANDCONFIG is empty so
add it to the temporary file in all cases.
Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
---
automation/scripts/build | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/automation/scripts/build b/automation/scripts/build
index 522efe774e..8a3b8fb6b2 100755
--- a/automation/scripts/build
+++ b/automation/scripts/build
@@ -12,12 +12,12 @@ $cc --version
# random config or default config
if [[ "${RANDCONFIG}" == "y" ]]; then
- # Append job-specific fixed configuration
- if [[ -n "${EXTRA_FIXED_RANDCONFIG}" ]]; then
- echo "${EXTRA_FIXED_RANDCONFIG}" >> xen/tools/kconfig/allrandom.config
- fi
+ cp -f xen/tools/kconfig/allrandom.config xen/allrandom.config.tmp
- make -j$(nproc) -C xen KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config randconfig
+ # Append job-specific fixed configuration
+ echo "${EXTRA_FIXED_RANDCONFIG}" >> xen/allrandom.config.tmp
+
+ make -j$(nproc) -C xen KCONFIG_ALLCONFIG=allrandom.config.tmp randconfig
# RANDCONFIG implies HYPERVISOR_ONLY
HYPERVISOR_ONLY="y"
--
Anthony Perard | Vates XCP-ng Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [XEN PATCH] automation: Avoid changing source files for randconfig tests
2025-03-26 14:28 [XEN PATCH] automation: Avoid changing source files for randconfig tests Anthony PERARD
@ 2025-03-27 2:10 ` Stefano Stabellini
2025-03-27 10:58 ` Anthony PERARD
0 siblings, 1 reply; 6+ messages in thread
From: Stefano Stabellini @ 2025-03-27 2:10 UTC (permalink / raw)
To: Anthony PERARD; +Cc: xen-devel, Doug Goldstein, Stefano Stabellini
On Wed, 26 Mar 2025, Anthony PERARD wrote:
> We should avoid changing files from the source tree if we don't intend
> to commit the result.
>
> We don't really need to check if $EXTRA_FIXED_RANDCONFIG is empty so
> add it to the temporary file in all cases.
>
> Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
> ---
> automation/scripts/build | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/automation/scripts/build b/automation/scripts/build
> index 522efe774e..8a3b8fb6b2 100755
> --- a/automation/scripts/build
> +++ b/automation/scripts/build
> @@ -12,12 +12,12 @@ $cc --version
> # random config or default config
> if [[ "${RANDCONFIG}" == "y" ]]; then
>
> - # Append job-specific fixed configuration
> - if [[ -n "${EXTRA_FIXED_RANDCONFIG}" ]]; then
> - echo "${EXTRA_FIXED_RANDCONFIG}" >> xen/tools/kconfig/allrandom.config
> - fi
> + cp -f xen/tools/kconfig/allrandom.config xen/allrandom.config.tmp
Wouldn't it be better to use mktemp?
local tmpconfig=$(mktemp)
cp -f xen/tools/kconfig/allrandom.config $tmpconfig
> - make -j$(nproc) -C xen KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config randconfig
> + # Append job-specific fixed configuration
> + echo "${EXTRA_FIXED_RANDCONFIG}" >> xen/allrandom.config.tmp
> +
> + make -j$(nproc) -C xen KCONFIG_ALLCONFIG=allrandom.config.tmp randconfig
>
> # RANDCONFIG implies HYPERVISOR_ONLY
> HYPERVISOR_ONLY="y"
> --
>
>
> Anthony Perard | Vates XCP-ng Developer
>
> XCP-ng & Xen Orchestra - Vates solutions
>
> web: https://vates.tech
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [XEN PATCH] automation: Avoid changing source files for randconfig tests
2025-03-27 2:10 ` Stefano Stabellini
@ 2025-03-27 10:58 ` Anthony PERARD
2025-03-27 22:59 ` Stefano Stabellini
0 siblings, 1 reply; 6+ messages in thread
From: Anthony PERARD @ 2025-03-27 10:58 UTC (permalink / raw)
To: Stefano Stabellini; +Cc: xen-devel, Doug Goldstein
On Wed, Mar 26, 2025 at 07:10:52PM -0700, Stefano Stabellini wrote:
> On Wed, 26 Mar 2025, Anthony PERARD wrote:
> > diff --git a/automation/scripts/build b/automation/scripts/build
> > index 522efe774e..8a3b8fb6b2 100755
> > --- a/automation/scripts/build
> > +++ b/automation/scripts/build
> > @@ -12,12 +12,12 @@ $cc --version
> > # random config or default config
> > if [[ "${RANDCONFIG}" == "y" ]]; then
> >
> > - # Append job-specific fixed configuration
> > - if [[ -n "${EXTRA_FIXED_RANDCONFIG}" ]]; then
> > - echo "${EXTRA_FIXED_RANDCONFIG}" >> xen/tools/kconfig/allrandom.config
> > - fi
> > + cp -f xen/tools/kconfig/allrandom.config xen/allrandom.config.tmp
>
> Wouldn't it be better to use mktemp?
>
> local tmpconfig=$(mktemp)
I though of it and I wasn't sure if we could use it in the CI, but it's
already been used so that's an option. (Actually, there's only a single
use by ./check-endbr.sh, ./configure does use it as well but to create
temporary directory within the build tree.)
But, to avoid overflowing /tmp with loads of leftover temporary files,
we need to clean it, with:
trap "rm $tmpconfig" EXIT
The advantage of using an in-tree files with a predefined name is that
it isn't going to create more than one file, no matter how many time you
run ./build. The '*.tmp' files are already ignored by our .gitignore. I
could rename it to with a "." to hide it a bit more.
Thanks,
--
Anthony Perard | Vates XCP-ng Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [XEN PATCH] automation: Avoid changing source files for randconfig tests
2025-03-27 10:58 ` Anthony PERARD
@ 2025-03-27 22:59 ` Stefano Stabellini
2025-04-04 14:18 ` Anthony PERARD
0 siblings, 1 reply; 6+ messages in thread
From: Stefano Stabellini @ 2025-03-27 22:59 UTC (permalink / raw)
To: Anthony PERARD; +Cc: Stefano Stabellini, xen-devel, Doug Goldstein
On Thu, 27 Mar 2025, Anthony PERARD wrote:
> On Wed, Mar 26, 2025 at 07:10:52PM -0700, Stefano Stabellini wrote:
> > On Wed, 26 Mar 2025, Anthony PERARD wrote:
> > > diff --git a/automation/scripts/build b/automation/scripts/build
> > > index 522efe774e..8a3b8fb6b2 100755
> > > --- a/automation/scripts/build
> > > +++ b/automation/scripts/build
> > > @@ -12,12 +12,12 @@ $cc --version
> > > # random config or default config
> > > if [[ "${RANDCONFIG}" == "y" ]]; then
> > >
> > > - # Append job-specific fixed configuration
> > > - if [[ -n "${EXTRA_FIXED_RANDCONFIG}" ]]; then
> > > - echo "${EXTRA_FIXED_RANDCONFIG}" >> xen/tools/kconfig/allrandom.config
> > > - fi
> > > + cp -f xen/tools/kconfig/allrandom.config xen/allrandom.config.tmp
> >
> > Wouldn't it be better to use mktemp?
> >
> > local tmpconfig=$(mktemp)
>
> I though of it and I wasn't sure if we could use it in the CI, but it's
> already been used so that's an option. (Actually, there's only a single
> use by ./check-endbr.sh, ./configure does use it as well but to create
> temporary directory within the build tree.)
>
> But, to avoid overflowing /tmp with loads of leftover temporary files,
> we need to clean it, with:
>
> trap "rm $tmpconfig" EXIT
>
> The advantage of using an in-tree files with a predefined name is that
> it isn't going to create more than one file, no matter how many time you
> run ./build. The '*.tmp' files are already ignored by our .gitignore. I
> could rename it to with a "." to hide it a bit more.
I think it is fine, there is no need to hide them more.
I was suggesting to create a file under /tmp instead to keep the source
directory cleaner, and also because I don't think it is an issue to add
files to /tmp and not clean them because they get removed when the
container exits. Isn't it the case? Locally it looks like each
containers gets its own /tmp that is cleaned after exit.
So my preference is to use mktemp and *not* clean the tmp file on exit.
If you think we have to clean the tmp file on exit, then let's go with
your xen/allrandom.config.tmp approach as I would prefer to avoid the
"trap" command to keep the sources simpler.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [XEN PATCH] automation: Avoid changing source files for randconfig tests
2025-03-27 22:59 ` Stefano Stabellini
@ 2025-04-04 14:18 ` Anthony PERARD
2025-04-16 0:04 ` Stefano Stabellini
0 siblings, 1 reply; 6+ messages in thread
From: Anthony PERARD @ 2025-04-04 14:18 UTC (permalink / raw)
To: Stefano Stabellini; +Cc: xen-devel, Doug Goldstein
On Thu, Mar 27, 2025 at 03:59:16PM -0700, Stefano Stabellini wrote:
> I was suggesting to create a file under /tmp instead to keep the source
> directory cleaner,
There's an easy way to keep the source directory *extra clean* when
doing hypervisor build, like we are doing here for randoconfig, that is:
out-of-tree build!
> and also because I don't think it is an issue to add
> files to /tmp and not clean them because they get removed when the
> container exits. Isn't it the case? Locally it looks like each
> containers gets its own /tmp that is cleaned after exit.
Sorry, I tend to think that those script could be use outside of the CI
or containers, and /tmp can have a lot of different configuration, so
it's better to clean after oneself when possible.
As for running containers locally, maybe it's faster to reuse a
container instead of creating a new one from an image, which mean /tmp
is probably not cleaned on exit. But I guess people usuasly do `docker
run --rm` or use `containerize` which does the same.
> So my preference is to use mktemp and *not* clean the tmp file on exit.
>
> If you think we have to clean the tmp file on exit, then let's go with
> your xen/allrandom.config.tmp approach as I would prefer to avoid the
> "trap" command to keep the sources simpler.
So, is that an Ack on my original patch?
Cheers,
--
Anthony Perard | Vates XCP-ng Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [XEN PATCH] automation: Avoid changing source files for randconfig tests
2025-04-04 14:18 ` Anthony PERARD
@ 2025-04-16 0:04 ` Stefano Stabellini
0 siblings, 0 replies; 6+ messages in thread
From: Stefano Stabellini @ 2025-04-16 0:04 UTC (permalink / raw)
To: Anthony PERARD; +Cc: Stefano Stabellini, xen-devel, Doug Goldstein
On Fri, 4 Apr 2025, Anthony PERARD wrote:
> On Thu, Mar 27, 2025 at 03:59:16PM -0700, Stefano Stabellini wrote:
> > I was suggesting to create a file under /tmp instead to keep the source
> > directory cleaner,
>
> There's an easy way to keep the source directory *extra clean* when
> doing hypervisor build, like we are doing here for randoconfig, that is:
> out-of-tree build!
>
> > and also because I don't think it is an issue to add
> > files to /tmp and not clean them because they get removed when the
> > container exits. Isn't it the case? Locally it looks like each
> > containers gets its own /tmp that is cleaned after exit.
>
> Sorry, I tend to think that those script could be use outside of the CI
> or containers, and /tmp can have a lot of different configuration, so
> it's better to clean after oneself when possible.
>
> As for running containers locally, maybe it's faster to reuse a
> container instead of creating a new one from an image, which mean /tmp
> is probably not cleaned on exit. But I guess people usuasly do `docker
> run --rm` or use `containerize` which does the same.
>
> > So my preference is to use mktemp and *not* clean the tmp file on exit.
> >
> > If you think we have to clean the tmp file on exit, then let's go with
> > your xen/allrandom.config.tmp approach as I would prefer to avoid the
> > "trap" command to keep the sources simpler.
>
> So, is that an Ack on my original patch?
Yes
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-04-16 0:04 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-26 14:28 [XEN PATCH] automation: Avoid changing source files for randconfig tests Anthony PERARD
2025-03-27 2:10 ` Stefano Stabellini
2025-03-27 10:58 ` Anthony PERARD
2025-03-27 22:59 ` Stefano Stabellini
2025-04-04 14:18 ` Anthony PERARD
2025-04-16 0:04 ` Stefano Stabellini
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.