Skip to content

ci: merge staging to master #74

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

Merged
merged 40 commits into from
Mar 26, 2025
Merged
Changes from 1 commit
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
987c5b6
feat: ci update
brynblack Jan 22, 2025
9fa4b84
fix: rename workflow
brynblack Jan 22, 2025
ccd8cb1
feat: converting to esm
CMCDragonkai Aug 12, 2023
030c048
deps: updating `@matrixai/workers` to `^2.0.0`
tegefaulkes Mar 14, 2025
7e85e80
fix: fixing up `@matrixai/workers` usage
tegefaulkes Mar 14, 2025
4b8285e
build: pinning nixpkgs version to fix dependency problem with gyp
tegefaulkes Mar 20, 2025
39e6652
tests: fixed up tests using workers
tegefaulkes Mar 20, 2025
0fa8ba8
fix: fixed up benches
tegefaulkes Mar 20, 2025
ff561b3
bench: ran benchmarks
tegefaulkes Mar 20, 2025
11f1ba6
chore: lint
tegefaulkes Mar 20, 2025
3d9522f
Merge pull request #68 from MatrixAI/feature-esm-migrate
tegefaulkes Mar 20, 2025
d9f163a
6.0.0
tegefaulkes Mar 20, 2025
6b687c6
docs: generating docs
tegefaulkes Mar 20, 2025
0b1a175
6.0.1
tegefaulkes Mar 20, 2025
0f61535
chore: fixing up pyton version
tegefaulkes Mar 20, 2025
3a5aab6
6.0.2
tegefaulkes Mar 20, 2025
c8b22b2
fix: use python 310
brynblack Mar 24, 2025
e86344e
6.0.3
brynblack Mar 24, 2025
734c763
fix: force python variable
brynblack Mar 24, 2025
9461d3e
6.0.4
brynblack Mar 24, 2025
834e226
chore: lintfix
brynblack Mar 24, 2025
c9174e5
6.0.5
brynblack Mar 24, 2025
ef75140
fix: bugfix
brynblack Mar 24, 2025
28dabab
6.0.6
brynblack Mar 24, 2025
baf4e25
fix: enforce python environment variables
brynblack Mar 24, 2025
d634206
6.0.7
brynblack Mar 24, 2025
3bddf62
fix: use `--force` for linking python
brynblack Mar 24, 2025
d8f3287
6.0.8
brynblack Mar 24, 2025
1a8ddb7
fix: force python path using `GITHUB_PATH`
brynblack Mar 24, 2025
ae255d3
6.0.9
brynblack Mar 24, 2025
52f6f02
fix: symlink python3 path
brynblack Mar 24, 2025
e28fb3b
6.0.10
brynblack Mar 24, 2025
3d73709
fix: revert python fixes and rely on CI fixes
brynblack Mar 25, 2025
1fa62ae
6.0.11
brynblack Mar 25, 2025
6410c11
build: updating `node-gyp` version to work with newer python versions
tegefaulkes Mar 25, 2025
385a665
6.0.12
tegefaulkes Mar 25, 2025
4df68f0
6.0.13
tegefaulkes Mar 25, 2025
b57bad3
6.0.14
tegefaulkes Mar 26, 2025
16bab6f
build: testing removing pythong from choco install script
tegefaulkes Mar 26, 2025
cf2e6d9
6.0.15
tegefaulkes Mar 26, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix: fixed up benches
tegefaulkes committed Mar 20, 2025
commit 0fa8ba8ae2d641ff119d274cfadc60e92787a331
11 changes: 6 additions & 5 deletions benches/db_1KiB.ts
Original file line number Diff line number Diff line change
@@ -2,12 +2,14 @@ import os from 'os';
import fs from 'fs';
import path from 'path';
import crypto from 'crypto';
import url from 'node:url';
import b from 'benny';
import Logger, { LogLevel, StreamHandler } from '@matrixai/logger';
import DB from '@/DB';
import { suiteCommon } from './utils';
import DB from '#DB.js';
import { suiteCommon } from './utils/utils.js';

const logger = new Logger('DB1KiB Bench', LogLevel.WARN, [new StreamHandler()]);
const filename = url.fileURLToPath(new URL(import.meta.url));

async function main() {
const dataDir = await fs.promises.mkdtemp(
@@ -18,7 +20,7 @@ async function main() {
const data0 = crypto.randomBytes(0);
const data1KiB = crypto.randomBytes(1024);
const summary = await b.suite(
path.basename(__filename, path.extname(__filename)),
path.basename(filename, path.extname(filename)),
b.add('get 1 KiB of data', async () => {
await db.put('1kib', data1KiB, true);
return async () => {
@@ -44,8 +46,7 @@ async function main() {
});
return summary;
}

if (require.main === module) {
if (process.argv[1] === url.fileURLToPath(import.meta.url)) {
void main();
}

10 changes: 6 additions & 4 deletions benches/db_1MiB.ts
Original file line number Diff line number Diff line change
@@ -2,12 +2,14 @@ import os from 'os';
import fs from 'fs';
import path from 'path';
import crypto from 'crypto';
import url from "node:url";
import b from 'benny';
import Logger, { LogLevel, StreamHandler } from '@matrixai/logger';
import DB from '@/DB';
import { suiteCommon } from './utils';
import DB from '#DB.js';
import { suiteCommon } from './utils/utils.js';

const logger = new Logger('DB1MiB Bench', LogLevel.WARN, [new StreamHandler()]);
const filename = url.fileURLToPath(new URL(import.meta.url));

async function main() {
const dataDir = await fs.promises.mkdtemp(
@@ -18,7 +20,7 @@ async function main() {
const data0 = crypto.randomBytes(0);
const data1MiB = crypto.randomBytes(1024 * 1024);
const summary = await b.suite(
path.basename(__filename, path.extname(__filename)),
path.basename(filename, path.extname(filename)),
b.add('get 1 MiB of data', async () => {
await db.put('1mib', data1MiB, true);
return async () => {
@@ -45,7 +47,7 @@ async function main() {
return summary;
}

if (require.main === module) {
if (process.argv[1] === url.fileURLToPath(import.meta.url)) {
void main();
}

13 changes: 8 additions & 5 deletions benches/index.ts
Original file line number Diff line number Diff line change
@@ -2,26 +2,29 @@

import fs from 'fs';
import path from 'path';
import url from 'node:url';
import si from 'systeminformation';
import DB1KiB from './db_1KiB.js';
import DB1MiB from './db_1MiB.js';

const dirname = url.fileURLToPath(new URL('.', import.meta.url));

async function main(): Promise<void> {
await fs.promises.mkdir(path.join(__dirname, 'results'), { recursive: true });
await fs.promises.mkdir(path.join(dirname, 'results'), { recursive: true });
await DB1KiB();
await DB1MiB();
const resultFilenames = await fs.promises.readdir(
path.join(__dirname, 'results'),
path.join(dirname, 'results'),
);
const metricsFile = await fs.promises.open(
path.join(__dirname, 'results', 'metrics.txt'),
path.join(dirname, 'results', 'metrics.txt'),
'w',
);
let concatenating = false;
for (const resultFilename of resultFilenames) {
if (/.+_metrics\.txt$/.test(resultFilename)) {
const metricsData = await fs.promises.readFile(
path.join(__dirname, 'results', resultFilename),
path.join(dirname, 'results', resultFilename),
);
if (concatenating) {
await metricsFile.write('\n');
@@ -37,7 +40,7 @@ async function main(): Promise<void> {
system: 'model, manufacturer',
});
await fs.promises.writeFile(
path.join(__dirname, 'results', 'system.json'),
path.join(dirname, 'results', 'system.json'),
JSON.stringify(systemData, null, 2),
);
}
44 changes: 22 additions & 22 deletions benches/results/system.json
Original file line number Diff line number Diff line change
@@ -1,41 +1,41 @@
{
"cpu": {
"manufacturer": "AMD",
"brand": "Ryzen 7 2700X Eight-Core Processor",
"vendor": "AMD",
"family": "23",
"model": "8",
"manufacturer": "Intel",
"brand": "Gen Intel® Core™ i7-1370P",
"vendor": "Intel",
"family": "6",
"model": "186",
"stepping": "2",
"revision": "",
"voltage": "",
"speed": 3.7,
"speedMin": 2.2,
"speedMax": 3.7,
"governor": "performance",
"cores": 16,
"physicalCores": 8,
"performanceCores": 8,
"efficiencyCores": 0,
"speed": 1.12,
"speedMin": 0.4,
"speedMax": 5.2,
"governor": "powersave",
"cores": 20,
"physicalCores": 14,
"performanceCores": 6,
"efficiencyCores": 8,
"processors": 1,
"socket": "",
"flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca sev sev_es",
"flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect user_shstk avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq tme rdpid movdiri movdir64b fsrm md_clear serialize pconfig arch_lbr ibt flush_l1d arch_capabilities",
"virtualization": true,
"cache": {
"l1d": 262144,
"l1i": 524288,
"l2": 4194304,
"l3": 16777216
"l1d": 557056,
"l1i": 720896,
"l2": 11534336,
"l3": 25165824
}
},
"osInfo": {
"platform": "linux",
"distro": "nixos",
"release": "22.11",
"kernel": "6.1.23",
"release": "24.11",
"kernel": "6.6.47",
"arch": "x64"
},
"system": {
"model": "System Product Name",
"manufacturer": "System manufacturer"
"model": "Precision 3480",
"manufacturer": "Dell Inc."
}
}
2 changes: 1 addition & 1 deletion benches/utils/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export * from './utils';
export * from './utils.js';
9 changes: 6 additions & 3 deletions benches/utils/utils.ts
Original file line number Diff line number Diff line change
@@ -1,27 +1,30 @@
import fs from 'fs';
import path from 'path';
import url from 'node:url';
import b from 'benny';
import { codeBlock } from 'common-tags';
import packageJson from '../../package.json';

const dirname = url.fileURLToPath(new URL('.', import.meta.url));

const suiteCommon = [
b.cycle(),
b.complete(),
b.save({
file: (summary) => summary.name,
folder: path.join(__dirname, '../results'),
folder: path.join(dirname, '../results'),
version: packageJson.version,
details: true,
}),
b.save({
file: (summary) => summary.name,
folder: path.join(__dirname, '../results'),
folder: path.join(dirname, '../results'),
version: packageJson.version,
format: 'chart.html',
}),
b.complete((summary) => {
const filePath = path.join(
__dirname,
dirname,
'../results',
summary.name + '_metrics.txt',
);