Skip to content
This repository was archived by the owner on Jul 10, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
115 changes: 34 additions & 81 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
name: Run tests with worflow_call
name: Run tests

defaults:
run:
working-directory: .

on:
workflow_call:
Expand Down Expand Up @@ -30,83 +34,32 @@ jobs:
name: "Run tests"
runs-on: ubuntu-latest

permissions:
contents: read
id-token: write

strategy:
matrix:
node-version:
- 16.x
- 17.x

steps:
- name: Import secrets
uses: hashicorp/vault-action@v2.4.3
with:
url: https://vault.fluence.dev
path: jwt/github
role: ci
method: jwt
jwtGithubAudience: "https://github.com/fluencelabs"
jwtTtl: 300
secrets: |
kv/docker-registry/basicauth/ci username | DOCKER_USERNAME ;
kv/docker-registry/basicauth/ci password | DOCKER_PASSWORD

- name: Login to DockerHub
uses: docker/login-action@v2
with:
registry: docker.fluence.dev
username: ${{ env.DOCKER_USERNAME }}
password: ${{ env.DOCKER_PASSWORD }}

- name: Checkout
uses: actions/checkout@v3
with:
repository: fluencelabs/fluence-js
ref: ${{ inputs.ref }}

- name: Pull rust-peer image
run: docker pull $RUST_PEER_IMAGE

- name: Run rust-peer
uses: isbang/compose-action@v1.4.1
with:
compose-file: ".github/e2e/docker-compose.yml"
down-flags: "--volumes"

- name: Setup pnpm
uses: pnpm/action-setup@v2.2.4
with:
version: 7

- name: Setup node ${{ matrix.node-version }} with self-hosted registry
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: "https://npm.fluence.dev"
cache: "pnpm"

- run: pnpm i

- name: Set avm version
if: inputs.avm-version != 'null'
uses: fluencelabs/github-actions/npm-set-dependency@main
with:
package: "@fluencelabs/avm"
version: ${{ inputs.avm-version }}
working-directory: packages/fluence-js
package-manager: pnpm

- name: Set marine-js version
if: inputs.marine-js-version != 'null'
uses: fluencelabs/github-actions/npm-set-dependency@main
with:
package: "@fluencelabs/marine-js"
version: ${{ inputs.marine-js-version }}
working-directory: packages/fluence-js
package-manager: pnpm

- run: pnpm -r build
- run: pnpm -r test
strategy:
matrix:
node-version: [16.x, 17.x, 18.x]

steps:
- uses: actions/checkout@v2

- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}

- name: Setup pnpm
uses: pnpm/action-setup@v2.2.4
with:
version: 7

- name: Run container with Fluence node
run: |
docker pull fluencelabs/fluence
docker run -d --rm -e RUST_LOG="info" -p 1210:1210 -p 4310:4310 fluencelabs/fluence -t 1210 -w 4310 -k gKdiCSUr1TFGFEgu2t8Ch1XEUsrN5A2UfBLjSZvfci9SPR3NvZpACfcpPGC3eY4zma1pk7UvYv5zb1VjvPHwCjj --local --aqua-pool-size 2

- run: pnpm i
- run: pnpm -r build
env:
CI: true
- run: pnpm -r test
env:
CI: true
112 changes: 112 additions & 0 deletions .github/workflows/tests.yml.disabled
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
name: Run tests with worflow_call

on:
workflow_call:
inputs:
rust-peer-image:
description: "rust-peer image tag"
type: string
default: "fluencelabs/fluence:minimal"
avm-version:
description: "@fluencelabs/avm version"
type: string
default: "null"
marine-js-version:
description: "@fluencelabs/marine-js version"
type: string
default: "null"
ref:
description: "git ref to checkout to"
type: string
default: "master"

env:
RUST_PEER_IMAGE: "${{ inputs.rust-peer-image }}"
FORCE_COLOR: true
CI: true

jobs:
fluence-js:
name: "Run tests"
runs-on: ubuntu-latest

permissions:
contents: read
id-token: write

strategy:
matrix:
node-version:
- 16.x
- 17.x

steps:
- name: Import secrets
uses: hashicorp/vault-action@v2.4.3
with:
url: https://vault.fluence.dev
path: jwt/github
role: ci
method: jwt
jwtGithubAudience: "https://github.com/fluencelabs"
jwtTtl: 300
secrets: |
kv/docker-registry/basicauth/ci username | DOCKER_USERNAME ;
kv/docker-registry/basicauth/ci password | DOCKER_PASSWORD

- name: Login to DockerHub
uses: docker/login-action@v2
with:
registry: docker.fluence.dev
username: ${{ env.DOCKER_USERNAME }}
password: ${{ env.DOCKER_PASSWORD }}

- name: Checkout
uses: actions/checkout@v3
with:
repository: fluencelabs/fluence-js
ref: ${{ inputs.ref }}

- name: Pull rust-peer image
run: docker pull $RUST_PEER_IMAGE

- name: Run rust-peer
uses: isbang/compose-action@v1.4.1
with:
compose-file: ".github/e2e/docker-compose.yml"
down-flags: "--volumes"

- name: Setup pnpm
uses: pnpm/action-setup@v2.2.4
with:
version: 7

- name: Setup node ${{ matrix.node-version }} with self-hosted registry
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: "https://npm.fluence.dev"
cache: "pnpm"

- run: pnpm i

- name: Set avm version
if: inputs.avm-version != 'null'
uses: fluencelabs/github-actions/npm-set-dependency@main
with:
package: "@fluencelabs/avm"
version: ${{ inputs.avm-version }}
working-directory: packages/fluence-js
package-manager: pnpm

- name: Set marine-js version
if: inputs.marine-js-version != 'null'
uses: fluencelabs/github-actions/npm-set-dependency@main
with:
package: "@fluencelabs/marine-js"
version: ${{ inputs.marine-js-version }}
working-directory: packages/fluence-js
package-manager: pnpm

- run: pnpm -r build
- run: pnpm -r test
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@
},
"author": "Fluence Labs",
"license": "Apache-2.0",
"dependencies": {},
"devDependencies": {
"http-server": "14.1.1",
"@types/node": "16.11.59",
"@types/node": "18.13.0",
"ts-node": "10.9.1",
"typescript": "4.7",
"@fluencelabs/aqua-lib": "0.6.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/@tests/aqua/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"author": "Fluence Labs",
"license": "Apache-2.0",
"dependencies": {
"@fluencelabs/fluence": "workspace:0.60.0",
"@fluencelabs/js-client.api": "0.10.0",
"@fluencelabs/fluence-network-environment": "1.0.13",
"base64-js": "1.5.1"
},
Expand Down
10 changes: 6 additions & 4 deletions packages/@tests/aqua/src/_aqua/smoke_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@
* Aqua version: 0.9.4
*
*/
import { FluencePeer } from '@fluencelabs/fluence';
import type { CallParams$$ } from '@fluencelabs/fluence/dist/internal/compilerSupport/v4';
import { callFunction$$, registerService$$ } from '@fluencelabs/fluence/dist/internal/compilerSupport/v4';

// eslint-disable
//ts-nocheck
import type { IFluenceClient as IFluenceClient$$, CallParams as CallParams$$ } from '@fluencelabs/js-client.api';
import { v5_callFunction as callFunction$$, v5_registerService as registerService$$ } from '@fluencelabs/js-client.api';

// Services

Expand All @@ -17,7 +19,7 @@ import { callFunction$$, registerService$$ } from '@fluencelabs/fluence/dist/int
export type SmokeTestResult = [string | null, string[]];
export function smokeTest(label: string, config?: { ttl?: number }): Promise<SmokeTestResult>;

export function smokeTest(peer: FluencePeer, label: string, config?: { ttl?: number }): Promise<SmokeTestResult>;
export function smokeTest(peer: IFluenceClient$$, label: string, config?: { ttl?: number }): Promise<SmokeTestResult>;

export function smokeTest(...args: any) {
let script = `
Expand Down
2 changes: 1 addition & 1 deletion packages/@tests/aqua/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { fromByteArray } from 'base64-js';
import { Fluence } from '@fluencelabs/fluence';
import { Fluence } from '@fluencelabs/js-client.api';
import { krasnodar } from '@fluencelabs/fluence-network-environment';
import { smokeTest } from './_aqua/smoke_test.js';

Expand Down
2 changes: 1 addition & 1 deletion packages/@tests/frameworks/cra-ts/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"version": "0.1.0",
"private": true,
"dependencies": {
"@fluencelabs/fluence": "workspace:0.60.0",
"@fluencelabs/js-client.api": "0.10.0",
"@test/aqua_for_test": "workspace:*",
"@testing-library/jest-dom": "5.16.5",
"@testing-library/react": "13.4.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/@tests/smoke_node/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"author": "Fluence Labs",
"license": "Apache-2.0",
"dependencies": {
"@fluencelabs/fluence": "workspace:0.60.0",
"@fluencelabs/js-client.api": "0.10.0",
"@fluencelabs/js-client.node": "0.1.0",
"@test/aqua_for_test": "workspace:*"
},
Expand Down
33 changes: 33 additions & 0 deletions packages/client/api/dtsbundle.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// @ts-check

// If won't use `@ts-check` - just remove that comments (with `@type` JSDoc below).

/** @type import('dts-bundle-generator/config-schema').OutputOptions */
const commonOutputParams = {
inlineDeclareGlobals: false,
sortNodes: true,
};

/** @type import('dts-bundle-generator/config-schema').BundlerConfig */
const config = {
compilationOptions: {
preferredConfigPath: './tsconfig.json',
},

entries: [
{
filePath: './src/index.ts',
outFile: './dist/index.d.ts',
noCheck: false,

libraries: {
importedLibraries: ['node', '@types/node'],
inlinedLibraries: ['@fluencelabs/avm', '@fluencelabs/marine-js'],
},

output: commonOutputParams,
},
],
};

module.exports = config;
Loading