Skip to content

ci(bins): windows build#1728

Description

@H4M5TER

Information

build-windows:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
include:
- { icon: "馃煢", sys: MSYS, arch: x86_64 }
- { icon: "馃煢", sys: MSYS, arch: arm64 }
name: ${{ matrix.icon }} ${{ matrix.sys }} ${{ matrix.arch }}
env:
LNAV_BASENAME: lnav-${{ inputs.lnav_version_number }}
LNAV_ZIPNAME: lnav-${{ inputs.lnav_version_number }}-windows-${{ matrix.arch }}.zip
defaults:
run:
shell: msys2 {0}
steps:
- name: "馃О Checkout"
uses: actions/checkout@v7
with:
fetch-depth: 0
# Install Rust using moonrepo/setup-rust
- name: Setup Rust
uses: moonrepo/setup-rust@v1
with:
rust-version: stable
- name: "${{ matrix.icon }} Setup MSYS2"
uses: msys2/setup-msys2@v2
with:
msystem: ${{matrix.sys}}

Currently we build both x64 & arm64 for Windows, but we use the same windows-latest and the same MSYS for msystem option.

https://github.com/tstack/lnav/actions/runs/29513806851/job/87673640780#step:5:70
25 + ./autogen.sh
69 checking build system type... x86_64-pc-cygwin
70 checking host system type... x86_64-pc-cygwin
84 checking for x86_64-pc-cygwin-gcc... x86_64-pc-cygwin-gcc

CI log shows that the arm64 pipeline also uses gcc prefixed by x86_64-pc-cygwin.
And msys-2.0.dll from Windows x64 and arm64 archives are binary same. (but lnav.exe are not binary same.)
I didn't test if arm64 build works on Windows On Arm though.

Questions

I'm looking into this because current windows build carries a huge 20MB-sized msys-2.0.dll.
Is it possible to change to other MinGW environment rather the parent MSYS environment? Are there something preventing us to do so?
Is current arm64 build fine? If not, maybe we need to run arm64 build in separate windows-11-arm runner (setup-msys2 supports it,) or cross-compile in clangarm64 environment.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions