From 74330c2bf47e5cdc8c4d89c5b6ce887899e946a4 Mon Sep 17 00:00:00 2001 From: Ashu Date: Tue, 17 Dec 2024 19:10:27 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=A6=20Using=20the=20global=20build=20s?= =?UTF-8?q?ystem?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build-test.yml | 60 +++++-------------------------- build.ts | 39 ++++++++++++-------- bun.lockb | Bin 217672 -> 218176 bytes package.json | 1 + packages/worker/package.json | 1 + 5 files changed, 34 insertions(+), 67 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index d963c33..50c1d96 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -2,16 +2,14 @@ # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs name: Build - on: push: branches: [ "workspace" ] pull_request: branches: [ "workspace" ] - jobs: prepare: - name: Find paths + name: Building Packages runs-on: ubuntu-latest outputs: paths: ${{ steps.paths.outputs.paths }} @@ -19,53 +17,11 @@ jobs: - name: Clone repo uses: actions/checkout@v4 - - - uses: actions/github-script@v7 - name: List paths - id: paths + - uses: oven-sh/setup-bun@v2 with: - script: | - const fs = require('fs') - const path = require('path') - const process = require('process') - const paths = [] - - paths.push(...getProjects('plugins')) - paths.push(...getProjects('packages')) - - paths.push('core') - console.log(paths) - - core.setOutput('paths', paths) - - function getProjects(dirname) { - const pathName = path.join(process.cwd(), dirname) - const files = fs.readdirSync(pathName) - const directories = files.filter((file) => fs.statSync(path.join(pathName, file)).isDirectory()).map((dir) => `${dirname}/${dir}`) - - return directories - } - build: - name: Build ${{ matrix.path }} - runs-on: ubuntu-latest - needs: prepare - strategy: - matrix: - node-version: [20.11.1] - path: ${{ fromJson(needs.prepare.outputs.paths) }} - # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ - steps: - - uses: actions/checkout@v4 - - uses: oven-sh/setup-bun@v2 - with: - bun-version: latest - - run: | - cd ${{ matrix.path }} && - bun i && - # Verifica se o script "build" existe antes de rodar - if bun run | grep -q "build"; then - bun run build - else - echo "Script 'build' não encontrado. Continuando..." - fi && - bun build ./src/app.ts --bundle --platform=node --target=bun --outfile=build.js + bun-version: latest + - run: | + bun i && + openssl genpkey -algorithm RSA -out privateKey.pem -pkeyopt rsa_keygen_bits:4096 && + openssl rsa -pubout -in privateKey.pem -out publicKey.pem && + bun run build.ts \ No newline at end of file diff --git a/build.ts b/build.ts index e523245..8cd7ed8 100644 --- a/build.ts +++ b/build.ts @@ -1,9 +1,10 @@ import { exec as execChild } from 'child_process' import { existsSync } from 'fs' import { mkdir } from 'fs/promises' +import { glob } from 'glob' import { createSign, createVerify } from 'node:crypto' import { readFileSync } from 'node:fs' -import { readFile, writeFile } from 'node:fs/promises' +import { readFile, rm, writeFile } from 'node:fs/promises' import { join } from 'path' type PluginBuilderOptions = { @@ -47,13 +48,19 @@ class PluginBuilder { this.signatureLength = options?.signatureLength ?? this.signatureLength } - async build () { + async build (): Promise<'file' | 'directory'> { await this.exec('bun install') if (this.hasBuildScript) await this.exec('bun run build') if (!existsSync(this.outputDirectory)) await mkdir(this.outputDirectory, { recursive: true }) - await this.exec(`bun build ${this.buildArgs.join(' ')} --outfile=${this.outputFilePath}`) + try { + await this.exec(`bun build ${this.buildArgs.join(' ')} --outfile=${this.outputFilePath}`) + return 'file' + } catch { + await this.exec(`bun build ${this.buildArgs.join(' ')} --outdir=${this.outputFilePath}`) + return 'directory' + } } async sign (privateKeyPath: string): Promise { @@ -106,18 +113,20 @@ class PluginBuilder { } } -// 'plugins/base' -await Promise.all( - ['plugins/tickets'].map(async (path) => { - const builder = new PluginBuilder({ - directory: join(process.cwd(), path), - entryFile: 'src/app.ts', - signatureLength: 256, - outputDirectory: join(process.cwd(), 'release'), - }) +const projects = await glob(['plugins/*', 'packages/*', 'core'], { cwd: process.cwd() }) - await builder.build() +await rm('releases', { recursive: true }) +for (const project of projects) { + const builder = new PluginBuilder({ + directory: join(process.cwd(), project), + entryFile: 'src/app.ts', + signatureLength: 256, + outputDirectory: join(process.cwd(), 'release'), + }) + + const buildType = await builder.build() + if (buildType === 'file') { await builder.sign(join(process.cwd(), 'privateKey.pem')) await builder.singCheck(join(process.cwd(), 'publicKey.pem')) - }) -) \ No newline at end of file + } +} \ No newline at end of file diff --git a/bun.lockb b/bun.lockb index 368a8a1990aadd5ffdc331a327fa8f708adea6ab..c574e35655f7a4ab64968d7c98450c503a1ad65c 100755 GIT binary patch delta 41981 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 z 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 delta 41980 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