* [PATCH] ci: build with MSVC in GHA
@ 2025-02-13 7:50 David Marchand
2025-02-18 13:32 ` Aaron Conole
0 siblings, 1 reply; 6+ messages in thread
From: David Marchand @ 2025-02-13 7:50 UTC (permalink / raw)
To: dev; +Cc: thomas, andremue, Aaron Conole, Michael Santana
Add a build target in Windows 2022 for MSVC.
Loading MSVC environment and having successive commands in a single
(cmd or pwsh) shell does not seem to correctly report if one of the
commands failed.
For now, load MSVC environment and run commands in separate shells.
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
.github/workflows/build.yml | 38 +++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index dcafb4a8f5..aef692ca1f 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -174,6 +174,44 @@ jobs:
build/meson-logs/meson-log.txt
build/meson-logs/testlog.txt
+ windows-vm-builds:
+ name: ${{ join(matrix.config.*, '-') }}
+ runs-on: ${{ matrix.config.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ config:
+ - os: windows-2022
+ compiler: msvc
+
+ steps:
+ - name: Checkout sources
+ uses: actions/checkout@v4
+ - name: Set up Python
+ uses: actions/setup-python@v5
+ with:
+ python-version: '3.x'
+ - name: Install dependencies
+ run: python -m pip install meson==1.6.1 ninja
+ - name: Configure
+ shell: cmd
+ run: |
+ call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -host_arch=amd64 -arch=amd64
+ meson setup -Denable_stdatomic=true build
+ - name: Build
+ shell: cmd
+ run: |
+ call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -host_arch=amd64 -arch=amd64
+ meson compile -C build
+ - name: Upload logs on failure
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: meson-logs-${{ join(matrix.config.*, '-') }}
+ path: |
+ build/.ninja_log
+ build/meson-logs/meson-log.txt
+
prepare-container-images:
name: ${{ join(matrix.config.*, '-') }}
runs-on: ubuntu-latest
--
2.48.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] ci: build with MSVC in GHA
2025-02-13 7:50 [PATCH] ci: build with MSVC in GHA David Marchand
@ 2025-02-18 13:32 ` Aaron Conole
2025-02-18 14:10 ` David Marchand
0 siblings, 1 reply; 6+ messages in thread
From: Aaron Conole @ 2025-02-18 13:32 UTC (permalink / raw)
To: David Marchand; +Cc: dev, thomas, andremue, Michael Santana
David Marchand <david.marchand@redhat.com> writes:
> Add a build target in Windows 2022 for MSVC.
>
> Loading MSVC environment and having successive commands in a single
> (cmd or pwsh) shell does not seem to correctly report if one of the
> commands failed.
> For now, load MSVC environment and run commands in separate shells.
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
LGTM.
Acked-by: Aaron Conole <aconole@redhat.com>
How far back will this work (ie: can we backport this to older branches?)
> .github/workflows/build.yml | 38 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 38 insertions(+)
>
> diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
> index dcafb4a8f5..aef692ca1f 100644
> --- a/.github/workflows/build.yml
> +++ b/.github/workflows/build.yml
> @@ -174,6 +174,44 @@ jobs:
> build/meson-logs/meson-log.txt
> build/meson-logs/testlog.txt
>
> + windows-vm-builds:
> + name: ${{ join(matrix.config.*, '-') }}
> + runs-on: ${{ matrix.config.os }}
> + strategy:
> + fail-fast: false
> + matrix:
> + config:
> + - os: windows-2022
> + compiler: msvc
> +
> + steps:
> + - name: Checkout sources
> + uses: actions/checkout@v4
> + - name: Set up Python
> + uses: actions/setup-python@v5
> + with:
> + python-version: '3.x'
> + - name: Install dependencies
> + run: python -m pip install meson==1.6.1 ninja
> + - name: Configure
> + shell: cmd
> + run: |
> + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -host_arch=amd64 -arch=amd64
> + meson setup -Denable_stdatomic=true build
> + - name: Build
> + shell: cmd
> + run: |
> + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -host_arch=amd64 -arch=amd64
> + meson compile -C build
> + - name: Upload logs on failure
> + if: failure()
> + uses: actions/upload-artifact@v4
> + with:
> + name: meson-logs-${{ join(matrix.config.*, '-') }}
> + path: |
> + build/.ninja_log
> + build/meson-logs/meson-log.txt
> +
> prepare-container-images:
> name: ${{ join(matrix.config.*, '-') }}
> runs-on: ubuntu-latest
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] ci: build with MSVC in GHA
2025-02-18 13:32 ` Aaron Conole
@ 2025-02-18 14:10 ` David Marchand
2025-02-18 15:35 ` Andre Muezerie
2025-02-18 19:45 ` Aaron Conole
0 siblings, 2 replies; 6+ messages in thread
From: David Marchand @ 2025-02-18 14:10 UTC (permalink / raw)
To: Aaron Conole; +Cc: dev, thomas, andremue, Michael Santana
On Tue, Feb 18, 2025 at 2:32 PM Aaron Conole <aconole@redhat.com> wrote:
>
> David Marchand <david.marchand@redhat.com> writes:
>
> > Add a build target in Windows 2022 for MSVC.
> >
> > Loading MSVC environment and having successive commands in a single
> > (cmd or pwsh) shell does not seem to correctly report if one of the
> > commands failed.
> > For now, load MSVC environment and run commands in separate shells.
> >
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > ---
>
> LGTM.
>
> Acked-by: Aaron Conole <aconole@redhat.com>
>
> How far back will this work (ie: can we backport this to older branches?)
MSVC was added in 23.11.
The patch applies cleanly and runs on 23.11 (where only lib/kvargs,
lib/log and lib/telemetry are compiled) and 24.11.
I can add Cc: stable if you think it is worth having it in LTS (UNH
provides some coverage in LTS releases).
--
David Marchand
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] ci: build with MSVC in GHA
2025-02-18 14:10 ` David Marchand
@ 2025-02-18 15:35 ` Andre Muezerie
2025-02-19 8:09 ` David Marchand
2025-02-18 19:45 ` Aaron Conole
1 sibling, 1 reply; 6+ messages in thread
From: Andre Muezerie @ 2025-02-18 15:35 UTC (permalink / raw)
To: David Marchand; +Cc: Aaron Conole, dev, thomas, Michael Santana
On Tue, Feb 18, 2025 at 03:10:13PM +0100, David Marchand wrote:
> On Tue, Feb 18, 2025 at 2:32 PM Aaron Conole <aconole@redhat.com> wrote:
> >
> > David Marchand <david.marchand@redhat.com> writes:
> >
> > > Add a build target in Windows 2022 for MSVC.
> > >
> > > Loading MSVC environment and having successive commands in a single
> > > (cmd or pwsh) shell does not seem to correctly report if one of the
> > > commands failed.
> > > For now, load MSVC environment and run commands in separate shells.
> > >
> > > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > > ---
> >
> > LGTM.
> >
> > Acked-by: Aaron Conole <aconole@redhat.com>
> >
> > How far back will this work (ie: can we backport this to older branches?)
>
> MSVC was added in 23.11.
> The patch applies cleanly and runs on 23.11 (where only lib/kvargs,
> lib/log and lib/telemetry are compiled) and 24.11.
>
> I can add Cc: stable if you think it is worth having it in LTS (UNH
> provides some coverage in LTS releases).
>
>
> --
> David Marchand
LGTM.
--
Andre Muezerie
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] ci: build with MSVC in GHA
2025-02-18 14:10 ` David Marchand
2025-02-18 15:35 ` Andre Muezerie
@ 2025-02-18 19:45 ` Aaron Conole
1 sibling, 0 replies; 6+ messages in thread
From: Aaron Conole @ 2025-02-18 19:45 UTC (permalink / raw)
To: David Marchand; +Cc: dev, thomas, andremue, Michael Santana
David Marchand <david.marchand@redhat.com> writes:
> On Tue, Feb 18, 2025 at 2:32 PM Aaron Conole <aconole@redhat.com> wrote:
>>
>> David Marchand <david.marchand@redhat.com> writes:
>>
>> > Add a build target in Windows 2022 for MSVC.
>> >
>> > Loading MSVC environment and having successive commands in a single
>> > (cmd or pwsh) shell does not seem to correctly report if one of the
>> > commands failed.
>> > For now, load MSVC environment and run commands in separate shells.
>> >
>> > Signed-off-by: David Marchand <david.marchand@redhat.com>
>> > ---
>>
>> LGTM.
>>
>> Acked-by: Aaron Conole <aconole@redhat.com>
>>
>> How far back will this work (ie: can we backport this to older branches?)
>
> MSVC was added in 23.11.
> The patch applies cleanly and runs on 23.11 (where only lib/kvargs,
> lib/log and lib/telemetry are compiled) and 24.11.
>
> I can add Cc: stable if you think it is worth having it in LTS (UNH
> provides some coverage in LTS releases).
I usually prefer to back-port CI related changes because it helps us
catch issues / improve the stable release cycle.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] ci: build with MSVC in GHA
2025-02-18 15:35 ` Andre Muezerie
@ 2025-02-19 8:09 ` David Marchand
0 siblings, 0 replies; 6+ messages in thread
From: David Marchand @ 2025-02-19 8:09 UTC (permalink / raw)
To: David Marchand; +Cc: Aaron Conole, Andre Muezerie, dev, thomas, Michael Santana
On Tue, Feb 18, 2025 at 4:36 PM Andre Muezerie
<andremue@linux.microsoft.com> wrote:
> > > > Add a build target in Windows 2022 for MSVC.
> > > >
> > > > Loading MSVC environment and having successive commands in a single
> > > > (cmd or pwsh) shell does not seem to correctly report if one of the
> > > > commands failed.
> > > > For now, load MSVC environment and run commands in separate shells.
Cc: stable@dpdk.org
> > > > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > > Acked-by: Aaron Conole <aconole@redhat.com>
> LGTM.
> --
> Andre Muezerie
Applied, thanks.
--
David Marchand
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-02-19 8:09 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-13 7:50 [PATCH] ci: build with MSVC in GHA David Marchand
2025-02-18 13:32 ` Aaron Conole
2025-02-18 14:10 ` David Marchand
2025-02-18 15:35 ` Andre Muezerie
2025-02-19 8:09 ` David Marchand
2025-02-18 19:45 ` Aaron Conole
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).