Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

electron-builder: Linux deb ,rpm arch cross-complile wont work. arm64 target contains x64 binaries #7608

Closed
jkroepke opened this issue Jun 10, 2023 · 15 comments · May be fixed by #8107
Closed
Labels

Comments

@jkroepke
Copy link
Contributor

  • Electron-Builder Version: 23.6.0
  • Node Version: 16
  • Electron Version: 22.3.3
  • Electron Type (current, beta, nightly): current
  • Target: Linux (AppImage, deb, rpm) and x86, AMD64

While cross-compile for macOS works fine, cross-compile for linux has some issues where I cant identity the root cause

Here is the log output with running file at the end:

> electron-builder --publish onTag --x64 --arm64
  • electron-builder  version=23.6.0 os=5.15.0-1038-azure
  • publishing will be skipped  reason=current build is a part of pull request solution=set env PUBLISH_FOR_PULL_REQUEST to true to force code signing
There are serious security concerns with PUBLISH_FOR_PULL_REQUEST=true (see the  CircleCI documentation (https://circleci.com/docs/1.0/fork-pr-builds/) for details)
If you have SSH keys, sensitive env vars or AWS credentials stored in your project settings and untrusted forks can make pull requests against your repo, then this option isn't for you.
  • loaded configuration  file=package.json ("build" field)
  • rebuilding native dependencies  dependencies=node-pty@0.10.1 platform=linux arch=x64
  • packaging       platform=linux arch=x64 electron=22.3.3 appOutDir=dist/linux-unpacked
  • downloading     url=https://github.com/electron/electron/releases/download/v22.3.3/electron-v22.3.3-linux-x64.zip size=93 MB parts=4
  • downloaded      url=https://github.com/electron/electron/releases/download/v22.3.3/electron-v22.3.3-linux-x64.zip duration=1.223s
  • building        target=AppImage arch=x64 file=dist/OpenLens-6.5.2-312.x86_64.AppImage
  • rebuilding native dependencies  dependencies=node-pty@0.10.1 platform=linux arch=arm64
  • downloading     url=https://github.com/electron-userland/electron-builder-binaries/releases/download/appimage-12.0.1/appimage-12.0.1.7z size=1.6 MB parts=1
  • downloaded      url=https://github.com/electron-userland/electron-builder-binaries/releases/download/appimage-12.0.1/appimage-12.0.1.7z duration=454ms
  • packaging       platform=linux arch=arm64 electron=22.3.3 appOutDir=dist/linux-arm64-unpacked
  • downloading     url=https://github.com/electron/electron/releases/download/v22.3.3/electron-v22.3.3-linux-arm64.zip size=94 MB parts=4
  • downloaded      url=https://github.com/electron/electron/releases/download/v22.3.3/electron-v22.3.3-linux-arm64.zip duration=1.371s
  • building        target=AppImage arch=arm64 file=dist/OpenLens-6.5.2-312.arm64.AppImage
  • building        target=deb arch=x64 file=dist/OpenLens-6.5.2-312.amd64.deb
  • downloading     url=https://github.com/electron-userland/electron-builder-binaries/releases/download/fpm-1.9.3-2.3.1-linux-x86_64/fpm-1.9.3-2.3.1-linux-x86_64.7z size=5.0 MB parts=1
  • downloaded      url=https://github.com/electron-userland/electron-builder-binaries/releases/download/fpm-1.9.3-2.3.1-linux-x86_64/fpm-1.9.3-2.3.1-linux-x86_64.7z duration=678ms
  • building        target=deb arch=arm64 file=dist/OpenLens-6.5.2-312.arm64.deb
  • building        target=rpm arch=x64 file=dist/OpenLens-6.5.2-312.x86_64.rpm
  • building        target=rpm arch=arm64 file=dist/OpenLens-6.5.2-312.aarch64.rpm

 

 >  NX   Successfully ran target build:app for project open-lens and 36 tasks it depends on


./open-lens/dist/linux-arm64-unpacked/resources/app.asar.unpacked/node_modules/node-pty/build/Release/pty.node:          ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eeb4c2c5dd10b9aaf3d07790fe81f90565ba2a34, not stripped
./open-lens/dist/linux-arm64-unpacked/resources/app.asar.unpacked/node_modules/node-pty/bin/linux-x64-110/node-pty.node: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eeb4c2c5dd10b9aaf3d07790fe81f90565ba2a34, not stripped
./open-lens/dist/linux-unpacked/resources/app.asar.unpacked/node_modules/node-pty/build/Release/pty.node:                ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eeb4c2c5dd10b9aaf3d07790fe81f90565ba2a34, not stripped
./open-lens/dist/linux-unpacked/resources/app.asar.unpacked/node_modules/node-pty/bin/linux-x64-110/node-pty.node:       ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eeb4c2c5dd10b9aaf3d07790fe81f90565ba2a34, not stripped
./node_modules/node-pty/build/Release/pty.node:                                                                          ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eeb4c2c5dd10b9aaf3d07790fe81f90565ba2a34, not stripped
./node_modules/node-pty/bin/linux-x64-110/node-pty.node:                                                                 ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eeb4c2c5dd10b9aaf3d07790fe81f90565ba2a34, not stripped

In the log, we can see, that the rebuilding is triggered for node-pty, however the arm64 directory (and target) still contain a x86 binary.

@jkroepke
Copy link
Contributor Author

The issue exists even on a single arch build.

> electron-builder --publish onTag --arm64
  • electron-builder  version=23.6.0 os=5.15.0-1038-azure
  • publishing will be skipped  reason=current build is a part of pull request solution=set env PUBLISH_FOR_PULL_REQUEST to true to force code signing
There are serious security concerns with PUBLISH_FOR_PULL_REQUEST=true (see the  CircleCI documentation (https://circleci.com/docs/1.0/fork-pr-builds/) for details)
If you have SSH keys, sensitive env vars or AWS credentials stored in your project settings and untrusted forks can make pull requests against your repo, then this option isn't for you.
  • loaded configuration  file=package.json ("build" field)
  • rebuilding native dependencies  dependencies=node-pty@0.10.1 platform=linux arch=arm64
  • packaging       platform=linux arch=arm64 electron=22.3.3 appOutDir=dist/linux-arm64-unpacked
  • downloading     url=https://github.com/electron/electron/releases/download/v22.3.3/electron-v22.3.3-linux-arm64.zip size=94 MB parts=4
  • downloaded      url=https://github.com/electron/electron/releases/download/v22.3.3/electron-v22.3.3-linux-arm64.zip duration=1.174s
  • building        target=AppImage arch=arm64 file=dist/OpenLens-6.5.2-314.arm64.AppImage
  • building        target=deb arch=arm64 file=dist/OpenLens-6.5.2-314.arm64.deb
  • building        target=rpm arch=arm64 file=dist/OpenLens-6.5.2-314.aarch64.rpm

 

 >  NX   Successfully ran target build:app for project open-lens and 36 tasks it depends on

   Nx read the output from the cache instead of running the command for 36 out of 37 tasks.

./open-lens/dist/linux-arm64-unpacked/resources/app.asar.unpacked/node_modules/node-pty/build/Release/pty.node:          ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eeb4c2c5dd10b9aaf3d07790fe81f90565ba2a34, not stripped
./open-lens/dist/linux-arm64-unpacked/resources/app.asar.unpacked/node_modules/node-pty/bin/linux-x64-110/node-pty.node: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eeb4c2c5dd10b9aaf3d07790fe81f90565ba2a34, not stripped

@jkroepke jkroepke changed the title electron-builder: Multi-arch on linux doesnt work electron-builder: Linux deb ,rpm arch cross-complile wont work. arm64 target contains x64 binaries Jun 10, 2023
@jkroepke
Copy link
Contributor Author

Can be reproduced on 24.4.0

 electron-builder --publish onTag --x64 --arm64
  • electron-builder  version=24.4.0 os=5.15.0-1039-azure
  • publishing will be skipped  reason=current build is a part of pull request solution=set env PUBLISH_FOR_PULL_REQUEST to true to force code signing
There are serious security concerns with PUBLISH_FOR_PULL_REQUEST=true (see the  CircleCI documentation (https://circleci.com/docs/1.0/fork-pr-builds/) for details)
If you have SSH keys, sensitive env vars or AWS credentials stored in your project settings and untrusted forks can make pull requests against your repo, then this option isn't for you.
  • loaded configuration  file=package.json ("build" field)
  • @electron/rebuild is already incorporated into electron-builder, please consider to remove excess dependency from devDependencies
To ensure your native dependencies are always matched electron version, simply add script `"postinstall": "electron-builder install-app-deps" to your `package.json`
  • executing @electron/rebuild  arch=x64 version=22.3.3 appDir=/home/runner/work/OpenLens/OpenLens/lens/open-lens
  • packaging       platform=linux arch=x64 electron=22.3.3 appOutDir=dist/linux-unpacked
  • downloading     url=https://github.com/electron/electron/releases/download/v22.3.3/electron-v22.3.3-linux-x64.zip size=93 MB parts=4
  • downloaded      url=https://github.com/electron/electron/releases/download/v22.3.3/electron-v22.3.3-linux-x64.zip duration=1.864s
  • skipping "afterSign" hook as no signing occurred, perhaps you intended "afterPack"?
  • building        target=AppImage arch=x64 file=dist/OpenLens-6.5.2-326.x86_64.AppImage
  • executing @electron/rebuild  arch=arm64 version=22.3.3 appDir=/home/runner/work/OpenLens/OpenLens/lens/open-lens
  • downloading     url=https://github.com/electron-userland/electron-builder-binaries/releases/download/appimage-12.0.1/appimage-12.0.1.7z size=1.6 MB parts=1
  • downloaded      url=https://github.com/electron-userland/electron-builder-binaries/releases/download/appimage-12.0.1/appimage-12.0.1.7z duration=273ms
  • packaging       platform=linux arch=arm64 electron=22.3.3 appOutDir=dist/linux-arm64-unpacked
  • downloading     url=https://github.com/electron/electron/releases/download/v22.3.3/electron-v22.3.3-linux-arm64.zip size=94 MB parts=4
  • downloaded      url=https://github.com/electron/electron/releases/download/v22.3.3/electron-v22.3.3-linux-arm64.zip duration=1.909s
  • skipping "afterSign" hook as no signing occurred, perhaps you intended "afterPack"?
  • building        target=AppImage arch=arm64 file=dist/OpenLens-6.5.2-326.arm64.AppImage
  • building        target=deb arch=x64 file=dist/OpenLens-6.5.2-326.amd64.deb
  • adding autoupdate files for: deb. (Beta feature)  resourceDir=/home/runner/work/OpenLens/OpenLens/lens/open-lens/dist/linux-unpacked/resources
  • downloading     url=https://github.com/electron-userland/electron-builder-binaries/releases/download/fpm-1.9.3-2.3.1-linux-x86_64/fpm-1.9.3-2.3.1-linux-x86_64.7z size=5.0 MB parts=1
  • downloaded      url=https://github.com/electron-userland/electron-builder-binaries/releases/download/fpm-1.9.3-2.3.1-linux-x86_64/fpm-1.9.3-2.3.1-linux-x86_64.7z duration=460ms
  • building        target=deb arch=arm64 file=dist/OpenLens-6.5.2-326.arm64.deb
  • adding autoupdate files for: deb. (Beta feature)  resourceDir=/home/runner/work/OpenLens/OpenLens/lens/open-lens/dist/linux-arm64-unpacked/resources
  • building        target=rpm arch=x64 file=dist/OpenLens-6.5.2-326.x86_64.rpm
  • adding autoupdate files for: rpm. (Beta feature)  resourceDir=/home/runner/work/OpenLens/OpenLens/lens/open-lens/dist/linux-unpacked/resources
  • building        target=rpm arch=arm64 file=dist/OpenLens-6.5.2-326.aarch64.rpm
  • adding autoupdate files for: rpm. (Beta feature)  resourceDir=/home/runner/work/OpenLens/OpenLens/lens/open-lens/dist/linux-arm64-unpacked/resources

 

 >  NX   Successfully ran target build:app for project open-lens and 36 tasks it depends on


./open-lens/dist/linux-arm64-unpacked/resources/app.asar.unpacked/node_modules/node-pty/build/Release/pty.node: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eeb4c2c5dd10b9aaf3d07790fe81f90565ba2a34, not stripped
./open-lens/dist/linux-unpacked/resources/app.asar.unpacked/node_modules/node-pty/build/Release/pty.node:       ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eeb4c2c5dd10b9aaf3d07790fe81f90565ba2a34, not stripped
./node_modules/node-pty/build/Release/pty.node:                                                                 ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eeb4c2c5dd10b9aaf3d07790fe81f90565ba2a34, not stripped
./node_modules/node-pty/build/Release/obj.target/pty.node:                                                      ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eeb4c2c5dd10b9aaf3d07790fe81f90565ba2a34, not stripped

@thatguyatgithub
Copy link

Any clue on how to fix this, it's really biting me and it breaks many electron-based apps buildings since this does not work at all outside x86_64 system!

@mmaietta
Copy link
Collaborator

mmaietta commented Jun 25, 2023

Can you please try next release v24.5.1?
I have a hypothesis re: a limitation of an upstream dependency, so I'm using their subpackage lib directly.

If still failing, please provide a minimum reproducible repo for me to take a look at.

@jkroepke
Copy link
Contributor Author

@mmaietta I will test it, however I also would like to share my expericence:

After debugging deeper into it, I could reproduce the issue with node-gyp and npm rebuild directly. I could also validate, that calling npx @electron/rebuild -a arm64 -f does not work. The binaries are placed into a arm64 directory, however they are still intel binaries.

Cross-compile works fine for MacOS, however cross-compile on Linux works a bit different.

I could fix the issue myself by define the the environment variables CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++, , then everything works. I have the feeling, that the issue is more in @electron/rebuild or node-gyp then electron-builder.

@mmaietta
Copy link
Collaborator

@electron/rebuild forces the platform to be process.platform, so their CLI will behave the same.

In v24.5.1, I'm trying to use their API directly to allow the platform to be set.

const rebuilder = new electronRebuild.Rebuilder(rebuilderOptions)
rebuilder.platform = platform.nodeName
return rebuilder.rebuild()

@jkroepke
Copy link
Contributor Author

jkroepke commented Jun 25, 2023

Then I may not understand the -a flag of the CLI.

npx @electron/rebuild --help
Usage: electron-rebuild --version [version] --module-dir [path]

Options:
  -a, --arch                   Override the target architecture to something
                               other than your system's                 [string]

Build Logs with 24.5.1:

> electron-builder --publish onTag --x64 --arm64
  • electron-builder  version=24.5.1 os=5.15.0-1040-azure
  • publishing will be skipped  reason=current build is a part of pull request solution=set env PUBLISH_FOR_PULL_REQUEST to true to force code signing
There are serious security concerns with PUBLISH_FOR_PULL_REQUEST=true (see the  CircleCI documentation (https://circleci.com/docs/1.0/fork-pr-builds/) for details)
If you have SSH keys, sensitive env vars or AWS credentials stored in your project settings and untrusted forks can make pull requests against your repo, then this option isn't for you.
  • loaded configuration  file=package.json ("build" field)
  • @electron/rebuild is already incorporated into electron-builder, please consider to remove excess dependency from devDependencies
To ensure your native dependencies are always matched electron version, simply add script `"postinstall": "electron-builder install-app-deps" to your `package.json`
  • executing @electron/rebuild  arch=x64 platform=linux version=22.3.3 appDir=/home/runner/work/OpenLens/OpenLens/lens/open-lens
  • packaging       platform=linux arch=x64 electron=22.3.3 appOutDir=dist/linux-unpacked
  • downloading     url=https://github.com/electron/electron/releases/download/v22.3.3/electron-v22.3.3-linux-x64.zip size=93 MB parts=4
  • downloaded      url=https://github.com/electron/electron/releases/download/v22.3.3/electron-v22.3.3-linux-x64.zip duration=1.769s
  • skipping "afterSign" hook as no signing occurred, perhaps you intended "afterPack"?
  • building        target=AppImage arch=x64 file=dist/OpenLens-6.5.2-357.x86_64.AppImage
  • executing @electron/rebuild  arch=arm64 platform=linux version=22.3.3 appDir=/home/runner/work/OpenLens/OpenLens/lens/open-lens
  • downloading     url=https://github.com/electron-userland/electron-builder-binaries/releases/download/appimage-12.0.1/appimage-12.0.1.7z size=1.6 MB parts=1
  • downloaded      url=https://github.com/electron-userland/electron-builder-binaries/releases/download/appimage-12.0.1/appimage-12.0.1.7z duration=699ms
  • packaging       platform=linux arch=arm64 electron=22.3.3 appOutDir=dist/linux-arm64-unpacked
  • downloading     url=https://github.com/electron/electron/releases/download/v22.3.3/electron-v22.3.3-linux-arm64.zip size=94 MB parts=4
  • downloaded      url=https://github.com/electron/electron/releases/download/v22.3.3/electron-v22.3.3-linux-arm64.zip duration=1.896s
  • skipping "afterSign" hook as no signing occurred, perhaps you intended "afterPack"?
  • building        target=AppImage arch=arm64 file=dist/OpenLens-6.5.2-357.arm64.AppImage
  • building        target=deb arch=x64 file=dist/OpenLens-6.5.2-357.amd64.deb
  • adding autoupdate files for: deb. (Beta feature)  resourceDir=/home/runner/work/OpenLens/OpenLens/lens/open-lens/dist/linux-unpacked/resources
  • downloading     url=https://github.com/electron-userland/electron-builder-binaries/releases/download/fpm-1.9.3-2.3.1-linux-x86_64/fpm-1.9.3-2.3.1-linux-x86_64.7z size=5.0 MB parts=1
  • downloaded      url=https://github.com/electron-userland/electron-builder-binaries/releases/download/fpm-1.9.3-2.3.1-linux-x86_64/fpm-1.9.3-2.3.1-linux-x86_64.7z duration=687ms
  • building        target=deb arch=arm64 file=dist/OpenLens-6.5.2-357.arm64.deb
  • adding autoupdate files for: deb. (Beta feature)  resourceDir=/home/runner/work/OpenLens/OpenLens/lens/open-lens/dist/linux-arm64-unpacked/resources
  • building        target=rpm arch=x64 file=dist/OpenLens-6.5.2-357.x86_64.rpm
  • adding autoupdate files for: rpm. (Beta feature)  resourceDir=/home/runner/work/OpenLens/OpenLens/lens/open-lens/dist/linux-unpacked/resources
  • building        target=rpm arch=arm64 file=dist/OpenLens-6.5.2-357.aarch64.rpm
  • adding autoupdate files for: rpm. (Beta feature)  resourceDir=/home/runner/work/OpenLens/OpenLens/lens/open-lens/dist/linux-arm64-unpacked/resources

 

 >  NX   Successfully ran target build:app for project open-lens and 36 tasks it depends on


./open-lens/dist/linux-unpacked/resources/app.asar.unpacked/node_modules/node-pty/build/Release/pty.node:       ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eeb4c2c5dd10b9aaf3d07790fe81f90565ba2a34, not stripped
./open-lens/dist/linux-arm64-unpacked/resources/app.asar.unpacked/node_modules/node-pty/build/Release/pty.node: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eeb4c2c5dd10b9aaf3d07790fe81f90565ba2a34, not stripped
./node_modules/node-pty/build/Release/pty.node:                                                                 ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eeb4c2c5dd10b9aaf3d07790fe81f90565ba2a34, not stripped
./node_modules/node-pty/build/Release/obj.target/pty.node:                                                      ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eeb4c2c5dd10b9aaf3d07790fe81f90565ba2a34, not stripped

After electron-builder, I'm running the file command on pty.node


Anyways, by reading

I'm not sure, if @electron/rebuild provides linux cross-arch out of the box. Setting CC and CCX is mentioned as workaround here, which works.

However, set CC does not work, if I want to run electron-builder --x64 --arm64, because if I define the env variables, it will be taken for bot environments.

Additionally, running

# npm install node-pty -- a dependency with native builds
CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ npx @electron/rebuild -a arm64 -f 
find . -name '*pty.node' -print0 | xargs -0 file

produces linux arm64 binaries.


The best possible fix from electron-builder point of view would be allowing specific env variables for which are passed to @electron/rebuild, for example:

{
  "build": {
    "linux": {
      "arm64": {
        "env": { 
          "CC": "aarch64-linux-gnu-gcc",
          "CXX": "aarch64-linux-gnu-g++"
        }
      },
      "arm7l": {
        "env": { 
          "CC": "arm-linux-gnueabi-gcc ",
          "CXX": "arm-linux-gnueabi-g++"
        }
      }
    }
  }
}

@mmaietta
Copy link
Collaborator

electron/rebuild API doesn't accept an environment configuration object.

Best way would probably be to use the beforeBuild hook to set process.env.____ var and then return true

/**
* The function (or path to file or module id) to be run before dependencies are installed or rebuilt. Works when `npmRebuild` is set to `true`. Resolving to `false` will skip dependencies install or rebuild.
*
* If provided and `node_modules` are missing, it will not invoke production dependencies check.
*/
readonly beforeBuild?: ((context: BeforeBuildContext) => Promise<any>) | string | null

@jkroepke
Copy link
Contributor Author

jkroepke commented Jun 30, 2023

@mmaietta I can confirm that:

  beforeBuild: './build-hooks/beforeBuild';

with ./build-hooks/beforeBuild.js:

const archMap = {
    "amd64": "x86_64",
    "arm64": "aarch64",
}

module.exports = async (buildContext) => {
    console.log(buildContext)
    if (buildContext.platform.name !== "linux") return true

    if (buildContext.arch in archMap) {
        process.env.CC = `${archMap[buildContext.arch]}-linux-gnu-gcc`
        process.env.CXX = `${archMap[buildContext.arch]}-linux-gnu-g++`
    } else {
        process.env.CC = "gcc"
        process.env.CXX = "g++"
    }

    console.log(process.env.CXX)
    return true
}

works, together with electron-builder --x64 --arm64

Thanks for the tip!

@github-actions
Copy link
Contributor

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 30 days.

@github-actions github-actions bot added the Stale label Aug 31, 2023
@jkroepke
Copy link
Contributor Author

Issue still exists.

@jkroepke
Copy link
Contributor Author

Unstale

@github-actions github-actions bot removed the Stale label Sep 1, 2023
@mmaietta
Copy link
Collaborator

mmaietta commented Sep 1, 2023

Can you please try 24.6.4? Some things changed with native dependency cross-compilation

Copy link
Contributor

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 30 days.

@github-actions github-actions bot added the Stale label Dec 18, 2023
Copy link
Contributor

This issue was closed because it has been stalled for 30 days with no activity.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Jan 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants