From 0f74bd079b3f2a6701d8d98ce38d348ebe6e70ad Mon Sep 17 00:00:00 2001 From: Mikhail Babynichev Date: Thu, 1 Aug 2024 12:00:47 +0300 Subject: [PATCH] ci: improve linux ci --- .github/workflows/deploy.yml | 19 ++++++++++++------- package.json | 3 ++- packages/tosu/package.json | 3 ++- packages/tosu/{pkg.json => pkg.linux.json} | 4 ++-- packages/tosu/pkg.win.json | 14 ++++++++++++++ 5 files changed, 32 insertions(+), 11 deletions(-) rename packages/tosu/{pkg.json => pkg.linux.json} (89%) create mode 100644 packages/tosu/pkg.win.json diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index df28260e..09ea3a82 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -56,14 +56,19 @@ jobs: - name: 🛠️ - Install Deps run: npm install -g pnpm@^8 && pnpm install --frozen-lockfile - - name: 📦 - Build - run: pnpm build + - name: 📦 - Build (windows) + if: matrix.os == "windows-latest" + run: pnpm build:win + + - name: 📦 - Build (linux) + if: matrix.os == "ubuntu-latest" + run: pnpm build:linux - name: 🚀 - Upload artifacts for windows if: matrix.os == 'windows-latest' uses: actions/upload-artifact@v4 with: { - name: "tosu-${{ matrix.os }}-${{ steps.set-pr-sha.outputs.SHORT_PR_SHA || github.ref_name }}", + name: "tosu-windows-${{ steps.set-pr-sha.outputs.SHORT_PR_SHA || github.ref_name }}", path: packages/tosu/dist/tosu.exe } @@ -71,9 +76,9 @@ jobs: if: matrix.os == 'ubuntu-latest' uses: actions/upload-artifact@v3 with: { - name: "${{ steps.set-artifact-name.outputs.ARTIFACT_NAME }}", - path: packages/tosu/dist/tosu.exe - } + name: "tosu-linux-${{ steps.set-pr-sha.outputs.SHORT_PR_SHA || github.ref_name }}", + path: packages/tosu/dist/tosu + } # - name: 🚀 - Upload artifacts for mac # if: matrix.os == 'macos-latest' @@ -81,4 +86,4 @@ jobs: # with: { # name: "${{ steps.set-artifact-name.outputs.ARTIFACT_NAME }}", # path: packages/tosu/dist/tosu.exe - # } \ No newline at end of file + # } diff --git a/package.json b/package.json index 6988335f..b8e6566b 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "scripts": { "prepare": "husky install", "start": "pnpm run -C packages/tosu run:dev", - "build": "pnpm run -C packages/tosu compile", + "build:win": "pnpm run -C packages/tosu compile:win", + "build:linux": "pnpm run -C packages/tosu compile:linux", "release": "standard-version", "prettier:fix": "prettier --write \"**/*.{js,jsx,ts,tsx,css}\"", "prettier:ci": "prettier --check \"**/*.{js,jsx,ts,tsx,css}\"", diff --git a/packages/tosu/package.json b/packages/tosu/package.json index c7cf0f1d..06f06601 100644 --- a/packages/tosu/package.json +++ b/packages/tosu/package.json @@ -9,7 +9,8 @@ "ts:compile": "ncc build src/index.ts -o dist -m -d", "run:dev": "pnpm run genver && pnpm run ts:run src/index.ts", "compile:prepare-htmls": "cp -rf node_modules/@tosu/server/assets ./dist", - "compile": "pnpm run genver && pnpm run ts:compile && pnpm run compile:prepare-htmls && pkg --output dist/tosu.exe --debug --config pkg.json --compress brotli dist/index.js && pnpm run ts:run src/postBuild.ts" + "compile:win": "pnpm run genver && pnpm run ts:compile && pnpm run compile:prepare-htmls && pkg --output dist/tosu.exe --debug --config pkg.win.json --compress brotli dist/index.js && pnpm run ts:run src/postBuild.ts", + "compile:linux": "pnpm run genver && pnpm run ts:compile && pnpm run compile:prepare-htmls && pkg --output dist/tosu --debug --config pkg.linux.json --compress brotli dist/index.js" }, "dependencies": { "@tosu/common": "workspace:*", diff --git a/packages/tosu/pkg.json b/packages/tosu/pkg.linux.json similarity index 89% rename from packages/tosu/pkg.json rename to packages/tosu/pkg.linux.json index e536bcae..42add4b7 100644 --- a/packages/tosu/pkg.json +++ b/packages/tosu/pkg.linux.json @@ -8,7 +8,7 @@ "dist/assets/**/*" ], "targets": [ - "node20-win-x64" + "node20-linux-x64" ], "outputPath": "dist" -} \ No newline at end of file +} diff --git a/packages/tosu/pkg.win.json b/packages/tosu/pkg.win.json new file mode 100644 index 00000000..7ba0c535 --- /dev/null +++ b/packages/tosu/pkg.win.json @@ -0,0 +1,14 @@ +{ + "scripts": "dist/**/*.js", + "assets": [ + "dist/**/*.node", + "dist/**/*.wasm", + "dist/target/**/*", + "dist/_version.js", + "dist/assets/**/*" + ], + "targets": [ + "node20-win-x64" + ], + "outputPath": "dist" +}