diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5583660..10995de 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,16 +55,10 @@ jobs: if [ "$RUNNER_OS" == "Windows" ]; then npx nx run open-lens:build:app --win nsis msi portable elif [ "$RUNNER_OS" == "Linux" ]; then - npx nx run open-lens:build:app - npm run all:reinstall - npx nx reset - sudo apt update - sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu -y - export CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ - mkdir -p open-lens/node_modules + sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu -y - npx nx run open-lens:build:app --arm64 + npx nx run open-lens:build:app --x64 --arm64 find . -name '*pty.node' -print0 | xargs -0 file else npx nx run open-lens:build:app --x64 --arm64 diff --git a/.gitignore b/.gitignore index b12d9d7..dddb8b5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .DS_Store README.md +/lens/ diff --git a/build-hooks/beforeBuild.js b/build-hooks/beforeBuild.js new file mode 100644 index 0000000..3930c56 --- /dev/null +++ b/build-hooks/beforeBuild.js @@ -0,0 +1,17 @@ +const archMap = { + "amd64": "x86_64", + "arm64": "aarch64", +} + +module.exports = async (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++" + } + return true +} diff --git a/update.js b/update.js index 8571c76..851b728 100644 --- a/update.js +++ b/update.js @@ -10,6 +10,7 @@ packageJsonOpenLens.build.publish = [{ packageJsonOpenLens.version = `${packageJsonOpenLens.version}-${process.env.BUILD_ID}`; packageJsonOpenLens.build.npmRebuild = true; packageJsonOpenLens.build.detectUpdateChannel = false; +packageJsonOpenLens.build.beforeBuild = '../../build-hooks/beforeBuild'; delete packageJsonOpenLens.scripts.postinstall;