fix(ci): Fix CI configuration URL and package installation paths.

This commit is contained in:
Philipp Kunz 2024-11-06 02:47:44 +01:00
parent 01823fb683
commit df12f0ad83
11 changed files with 48 additions and 27 deletions

View File

@ -6,8 +6,8 @@ on:
- '**' - '**'
env: env:
IMAGE: registry.gitlab.com/hosttoday/ht-docker-node:npmci IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci
NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@gitea.lossless.digital/${{gitea.repository}}.git NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@/${{gitea.repository}}.git
NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}} NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}}
NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}} NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}}
NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}} NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}}
@ -26,7 +26,7 @@ jobs:
- name: Install pnpm and npmci - name: Install pnpm and npmci
run: | run: |
pnpm install -g pnpm pnpm install -g pnpm
pnpm install -g @shipzone/npmci pnpm install -g @ship.zone/npmci
- name: Run npm prepare - name: Run npm prepare
run: npmci npm prepare run: npmci npm prepare

View File

@ -6,8 +6,8 @@ on:
- '*' - '*'
env: env:
IMAGE: registry.gitlab.com/hosttoday/ht-docker-node:npmci IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci
NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@gitea.lossless.digital/${{gitea.repository}}.git NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@/${{gitea.repository}}.git
NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}} NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}}
NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}} NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}}
NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}} NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}}
@ -26,7 +26,7 @@ jobs:
- name: Prepare - name: Prepare
run: | run: |
pnpm install -g pnpm pnpm install -g pnpm
pnpm install -g @shipzone/npmci pnpm install -g @ship.zone/npmci
npmci npm prepare npmci npm prepare
- name: Audit production dependencies - name: Audit production dependencies
@ -54,7 +54,7 @@ jobs:
- name: Prepare - name: Prepare
run: | run: |
pnpm install -g pnpm pnpm install -g pnpm
pnpm install -g @shipzone/npmci pnpm install -g @ship.zone/npmci
npmci npm prepare npmci npm prepare
- name: Test stable - name: Test stable
@ -82,7 +82,7 @@ jobs:
- name: Prepare - name: Prepare
run: | run: |
pnpm install -g pnpm pnpm install -g pnpm
pnpm install -g @shipzone/npmci pnpm install -g @ship.zone/npmci
npmci npm prepare npmci npm prepare
- name: Release - name: Release
@ -104,7 +104,7 @@ jobs:
- name: Prepare - name: Prepare
run: | run: |
pnpm install -g pnpm pnpm install -g pnpm
pnpm install -g @shipzone/npmci pnpm install -g @ship.zone/npmci
npmci npm prepare npmci npm prepare
- name: Code quality - name: Code quality

View File

@ -1,5 +1,12 @@
# Changelog # Changelog
## 2024-11-06 - 5.4.1 - fix(ci)
Fix CI configuration URL and package installation paths.
- Updated Docker image URL in CI config.
- Fixed repository URL format in package.json.
- Corrected npmci package installation path.
## 2024-11-06 - 5.4.0 - feat(node) ## 2024-11-06 - 5.4.0 - feat(node)
Add smartmongo and smarts3 integration in node tools Add smartmongo and smarts3 integration in node tools

View File

@ -15,14 +15,14 @@
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://code.foss.global/push.rocks/tapbundle.git" "url": "git+https://code.foss.global/push.rocks/tapbundle.git"
}, },
"author": "Lossless GmbH", "author": "Lossless GmbH",
"license": "MIT", "license": "MIT",
"bugs": { "bugs": {
"url": "https://gitlab.com/pushrocks/tapbundle/issues" "url": "https://code.foss.global/push.rocks/tapbundle/issues"
}, },
"homepage": "https://code.foss.global/push.rocks/tapbundle", "homepage": "https://code.foss.global/push.rocks/tapbundle#readme",
"dependencies": { "dependencies": {
"@open-wc/testing": "^4.0.0", "@open-wc/testing": "^4.0.0",
"@push.rocks/consolecolor": "^2.0.2", "@push.rocks/consolecolor": "^2.0.2",

View File

@ -1,7 +1,9 @@
# @push.rocks/tapbundle # @push.rocks/tapbundle
tap bundled for tapbuffer tap bundled for tapbuffer
## Install ## Install
Install the package by running the following command in your terminal: Install the package by running the following command in your terminal:
```bash ```bash
@ -11,9 +13,11 @@ npm install @push.rocks/tapbundle --save-dev
This will add `@push.rocks/tapbundle` to your project's `devDependencies`. This will add `@push.rocks/tapbundle` to your project's `devDependencies`.
## Usage ## Usage
The `@push.rocks/tapbundle` package is a tap-compatible testing framework written in TypeScript, intended for use with tapbuffer. It includes a range of useful features enabling easy setup and execution of tests, assertion handling through `expect` and `expectAsync`, as well as auxiliary tools for delay and colored console output. The `@push.rocks/tapbundle` package is a tap-compatible testing framework written in TypeScript, intended for use with tapbuffer. It includes a range of useful features enabling easy setup and execution of tests, assertion handling through `expect` and `expectAsync`, as well as auxiliary tools for delay and colored console output.
### Getting Started ### Getting Started
First, ensure your project is set up with Typescript and supports ESM syntax. You can then import `tap`, `expect`, and `expectAsync` from `@push.rocks/tapbundle` to start defining your tests. First, ensure your project is set up with Typescript and supports ESM syntax. You can then import `tap`, `expect`, and `expectAsync` from `@push.rocks/tapbundle` to start defining your tests.
```typescript ```typescript
@ -33,6 +37,7 @@ tap.start();
``` ```
### Defining Tests ### Defining Tests
You can define tests with descriptions and async functions. The `tap` instance manages test execution, supports test skipping, and managing exclusive tests with the `.only` modifier. You can define tests with descriptions and async functions. The `tap` instance manages test execution, supports test skipping, and managing exclusive tests with the `.only` modifier.
```typescript ```typescript
@ -52,6 +57,7 @@ tap.start();
``` ```
### Using `expect` and `expectAsync` ### Using `expect` and `expectAsync`
The package provides `expect` and `expectAsync` for assertions: The package provides `expect` and `expectAsync` for assertions:
```typescript ```typescript
@ -60,6 +66,7 @@ expect(5).toBeGreaterThan(2);
``` ```
### Handling Asynchronous Operations ### Handling Asynchronous Operations
`tapbundle` facilitates working with async operations in tests. You can introduce delays or set timeouts: `tapbundle` facilitates working with async operations in tests. You can introduce delays or set timeouts:
```typescript ```typescript
@ -72,7 +79,9 @@ tap.start();
``` ```
### Advanced Usage ### Advanced Usage
#### Pre Tasks #### Pre Tasks
You can define tasks to run before test execution begins: You can define tasks to run before test execution begins:
```typescript ```typescript
@ -88,6 +97,7 @@ tap.start();
``` ```
#### Accessing Test Metadata #### Accessing Test Metadata
Each test returns a `TapTest` instance, from which you can access metadata and manipulate test behavior: Each test returns a `TapTest` instance, from which you can access metadata and manipulate test behavior:
```typescript ```typescript
@ -102,9 +112,11 @@ tap.start().then(() => {
``` ```
### Running Tests ### Running Tests
Tests are executed by calling `tap.start()`. This method runs all defined tests in sequence and respects `.skip` and `.only` modifiers. Tests are executed by calling `tap.start()`. This method runs all defined tests in sequence and respects `.skip` and `.only` modifiers.
### Debugging and Output ### Debugging and Output
`@push.rocks/tapbundle` supports colored console output via `consolecolor` to help with debugging and test result readability: `@push.rocks/tapbundle` supports colored console output via `consolecolor` to help with debugging and test result readability:
```typescript ```typescript

View File

@ -23,10 +23,10 @@ const test3 = tap.test(
async () => { async () => {
expect( expect(
(await test1.testPromise).hrtMeasurement.milliSeconds < (await test1.testPromise).hrtMeasurement.milliSeconds <
(await test2).hrtMeasurement.milliSeconds (await test2).hrtMeasurement.milliSeconds,
).toBeTrue(); ).toBeTrue();
expect((await test2.testPromise).hrtMeasurement.milliSeconds > 10).toBeTrue(); expect((await test2.testPromise).hrtMeasurement.milliSeconds > 10).toBeTrue();
} },
); );
const test4 = tap.skip.test('my 4th test -> should fail', async (tools) => { const test4 = tap.skip.test('my 4th test -> should fail', async (tools) => {

View File

@ -17,10 +17,10 @@ const test3 = tap.test(
async () => { async () => {
expect( expect(
(await test1.testPromise).hrtMeasurement.milliSeconds < (await test1.testPromise).hrtMeasurement.milliSeconds <
(await test2).hrtMeasurement.milliSeconds (await test2).hrtMeasurement.milliSeconds,
).toBeTrue(); ).toBeTrue();
expect((await test2.testPromise).hrtMeasurement.milliSeconds > 1000).toBeTrue(); expect((await test2.testPromise).hrtMeasurement.milliSeconds > 1000).toBeTrue();
} },
); );
const test4 = tap.test('my 4th test -> should fail', async (tools) => { const test4 = tap.test('my 4th test -> should fail', async (tools) => {

View File

@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@push.rocks/tapbundle', name: '@push.rocks/tapbundle',
version: '5.4.0', version: '5.4.1',
description: 'A test automation library bundling utilities and tools for TAP (Test Anything Protocol) based testing, specifically tailored for tapbuffer.' description: 'A test automation library bundling utilities and tools for TAP (Test Anything Protocol) based testing, specifically tailored for tapbuffer.'
} }

View File

@ -37,7 +37,7 @@ export class Tap<T> {
public test( public test(
testDescription: string, testDescription: string,
testFunction: ITestFunction<T>, testFunction: ITestFunction<T>,
modeArg: 'normal' | 'only' | 'skip' = 'normal' modeArg: 'normal' | 'only' | 'skip' = 'normal',
): TapTest<T> { ): TapTest<T> {
const localTest = new TapTest<T>({ const localTest = new TapTest<T>({
description: testDescription, description: testDescription,
@ -67,7 +67,7 @@ export class Tap<T> {
description: testDescription, description: testDescription,
testFunction, testFunction,
parallel: true, parallel: true,
}) }),
); );
} }
@ -125,7 +125,7 @@ export class Tap<T> {
failReasons.push( failReasons.push(
`Test ${tapTest.testKey + 1} failed with status ${tapTest.status}:\n` + `Test ${tapTest.testKey + 1} failed with status ${tapTest.status}:\n` +
`|| ${tapTest.description}\n` + `|| ${tapTest.description}\n` +
`|| for more information please take a look the logs above` `|| for more information please take a look the logs above`,
); );
} }
} }
@ -150,7 +150,7 @@ export class Tap<T> {
} else { } else {
setTimeout(() => { setTimeout(() => {
process.exit(codeArg); process.exit(codeArg);
}, 10) }, 10);
} }
} }

View File

@ -56,7 +56,7 @@ export class TapTest<T = unknown> {
} }
this.hrtMeasurement.stop(); this.hrtMeasurement.stop();
console.log( console.log(
`ok ${testNumber} - ${this.description} # time=${this.hrtMeasurement.milliSeconds}ms` `ok ${testNumber} - ${this.description} # time=${this.hrtMeasurement.milliSeconds}ms`,
); );
this.status = 'success'; this.status = 'success';
this.testDeferred.resolve(this); this.testDeferred.resolve(this);
@ -64,7 +64,7 @@ export class TapTest<T = unknown> {
} catch (err: any) { } catch (err: any) {
this.hrtMeasurement.stop(); this.hrtMeasurement.stop();
console.log( console.log(
`not ok ${testNumber} - ${this.description} # time=${this.hrtMeasurement.milliSeconds}ms` `not ok ${testNumber} - ${this.description} # time=${this.hrtMeasurement.milliSeconds}ms`,
); );
this.testDeferred.resolve(this); this.testDeferred.resolve(this);
this.testResultDeferred.resolve(err); this.testResultDeferred.resolve(err);

View File

@ -6,7 +6,9 @@
"module": "NodeNext", "module": "NodeNext",
"moduleResolution": "NodeNext", "moduleResolution": "NodeNext",
"esModuleInterop": true, "esModuleInterop": true,
"verbatimModuleSyntax": true "verbatimModuleSyntax": true,
"baseUrl": ".",
"paths": {}
}, },
"exclude": [ "exclude": [
"dist_*/**/*.d.ts" "dist_*/**/*.d.ts"