diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 7edc3a3f..af9de37f 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -26,6 +26,8 @@ jobs: - name: Setup Pages uses: actions/configure-pages@v3 - name: Build + env: + BUILD_FOR_DOCS: 1 run: pnpm run -r --workspace-concurrency=1 build - name: Build docs run: | diff --git a/packages/crypto-node/build.config.cjs b/packages/crypto-node/build.config.cjs index 9bfe6540..b7c38420 100644 --- a/packages/crypto-node/build.config.cjs +++ b/packages/crypto-node/build.config.cjs @@ -7,8 +7,9 @@ const { Readable } = require('stream') const git = require('../../scripts/git-utils') const GITHUB_TOKEN = process.env.GITHUB_TOKEN +const SKIP_PREBUILT = process.env.BUILD_FOR_DOCS === '1' -if (!GITHUB_TOKEN) { +if (!GITHUB_TOKEN && !SKIP_PREBUILT) { throw new Error('GITHUB_TOKEN is required to publish crypto-node') } @@ -151,31 +152,33 @@ module.exports = ({ fs, glob, path, packageDir, outDir }) => ({ async final() { const libDir = path.join(packageDir, 'lib') - // generate sources hash - const hashes = [] + if (!SKIP_PREBUILT) { + // generate sources hash + const hashes = [] + + for (const file of glob.sync(path.join(libDir, '**/*'))) { + const hash = crypto.createHash('sha256') + hash.update(fs.readFileSync(file)) + hashes.push(hash.digest('hex')) + } - for (const file of glob.sync(path.join(libDir, '**/*'))) { const hash = crypto.createHash('sha256') - hash.update(fs.readFileSync(file)) - hashes.push(hash.digest('hex')) + .update(hashes.join('\n')) + .digest('hex') + console.log(hash) + + console.log('[i] Checking for prebuilt artifacts for %s', hash) + let artifacts = await findArtifactsByHash(hash) + + if (!artifacts) { + console.log('[i] No artifacts found, running workflow') + artifacts = await runWorkflow(git.getCurrentCommit(), hash) + } + + console.log('[i] Extracting artifacts') + await extractArtifacts(artifacts) } - const hash = crypto.createHash('sha256') - .update(hashes.join('\n')) - .digest('hex') - console.log(hash) - - console.log('[i] Checking for prebuilt artifacts for %s', hash) - let artifacts = await findArtifactsByHash(hash) - - if (!artifacts) { - console.log('[i] No artifacts found, running workflow') - artifacts = await runWorkflow(git.getCurrentCommit(), hash) - } - - console.log('[i] Extracting artifacts') - await extractArtifacts(artifacts) - // copy native sources and binding.gyp file fs.cpSync(libDir, path.join(outDir, 'lib'), { recursive: true })