Skip to content

Commit 9308d7d

Browse files
GeekaN2neSpeccnikmel2803
authored
Add release for suspected commits (#200)
* Refactor types * Add release types * Update collection name in archiver * Fix release task payload * Fix some comments * Save release * Add a test * Fix releases test * Rename releases-js collection to releases * Fix tests * Add one more test * Add catcherType to a release payload * Update workerType * Add commits validation * Parse commits * Update task format and tests * Update docker-compose file * Add console.log for testing * Update commit date type * Remove catcherType Some types have been ported to the hawk.types * Update README.md * Fix linter errors * Small refactoring * Fix linter errors * Add a test for sourcemaps * Fix workspace mock * Update hawk.types version * Update workers/release/README.md Co-authored-by: Peter Savchenko <specc.dev@gmail.com> * Update workers/release/README.md Co-authored-by: Peter Savchenko <specc.dev@gmail.com> * Update workers/release/src/index.ts Co-authored-by: Nikita Melnikov <nikmel2803@gmail.com> * Update some comments * Update import in archiver Co-authored-by: Peter Savchenko <specc.dev@gmail.com> Co-authored-by: Nikita Melnikov <nikmel2803@gmail.com>
1 parent ba496a1 commit 9308d7d

30 files changed

Lines changed: 525 additions & 302 deletions

.eslintignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/coverage
22
ecosystem.config.js
33
node_modules
4-
/workers/source-maps/tests/mock
4+
/workers/release/tests/mock
55
/workers/migrations
66
.github

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ For simplicity, Hawk workers can be used as part of the [Mono repository](https:
4242
> Note. You can override some env variables on worker running:
4343
4444
```
45-
SIMULTANEOUS_TASKS=1 yarn worker hawk-worker-sourcemaps
45+
SIMULTANEOUS_TASKS=1 yarn worker hawk-worker-release
4646
```
4747

4848
## Running workers with PM2

docker-compose.dev.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ services:
1616
- .:/usr/src/app
1717
- workers-deps:/usr/src/app/node_modules
1818

19-
hawk-worker-sourcemaps:
19+
hawk-worker-release:
2020
build:
2121
dockerfile: "dev.Dockerfile"
2222
context: .
@@ -25,7 +25,7 @@ services:
2525
environment:
2626
- SIMULTANEOUS_TASKS=1
2727
restart: unless-stopped
28-
entrypoint: yarn run-maps
28+
entrypoint: yarn run-release
2929
volumes:
3030
- ./:/usr/src/app
3131
- workers-deps:/usr/src/app/node_modules

docker-compose.prod.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ services:
1212
restart: unless-stopped
1313
entrypoint: /usr/local/bin/node runner.js hawk-worker-javascript
1414

15-
hawk-worker-sourcemaps:
15+
hawk-worker-release:
1616
image: "codexteamuser/hawk-workers:prod"
1717
network_mode: host
1818
env_file:
1919
- .env
2020
environment:
2121
- SIMULTANEOUS_TASKS=1
2222
restart: unless-stopped
23-
entrypoint: /usr/local/bin/node runner.js hawk-worker-sourcemaps
23+
entrypoint: /usr/local/bin/node runner.js hawk-worker-release
2424

2525
hawk-worker-nodejs:
2626
image: "codexteamuser/hawk-workers:prod"

docker-compose.test.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
version: "3.2"
2+
services:
3+
#
4+
# Tests
5+
#
6+
7+
hawk-worker-test:
8+
build:
9+
dockerfile: "dev.Dockerfile"
10+
context: .
11+
env_file:
12+
- .env
13+
entrypoint: yarn jest
14+
volumes:
15+
- .:/usr/src/app
16+
- workers-deps:/usr/src/app/node_modules
17+
18+
volumes:
19+
workers-deps:
20+
21+
networks:
22+
default:
23+
external:
24+
name: hawkmono_default

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"test:javascript": "jest workers/javascript",
1717
"test:nodejs": "jest workers/nodejs",
1818
"test:php": "jest workers/php",
19+
"test:release": "jest workers/release",
1920
"test:slack": "jest workers/slack",
2021
"test:limiter": "jest workers/limiter",
2122
"test:grouper": "jest workers/grouper",
@@ -36,7 +37,7 @@
3637
"run-accountant": "yarn worker hawk-worker-accountant",
3738
"run-paymaster": "yarn worker hawk-worker-paymaster",
3839
"run-notifier": "yarn worker hawk-worker-notifier",
39-
"run-maps": "SIMULTANEOUS_TASKS=1 yarn worker hawk-worker-sourcemaps",
40+
"run-release": "yarn worker hawk-worker-release",
4041
"run-email": "yarn worker hawk-worker-email",
4142
"run-telegram": "yarn worker hawk-worker-telegram",
4243
"run-limiter": "yarn worker hawk-worker-limiter"

workers/archiver/src/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,9 @@ export default class ArchiverWorker extends Worker {
6060
const accountDbConnection = await this.accountsDb.connect();
6161

6262
this.projectCollection = accountDbConnection.collection<ProjectDBScheme>('projects');
63-
this.releasesCollection = this.eventsDbConnection.collection('releases-js');
63+
this.releasesCollection = this.eventsDbConnection.collection('releases');
6464

65-
this.gridFsBucket = this.eventsDb.createGridFsBucket('releases-js');
65+
this.gridFsBucket = this.eventsDb.createGridFsBucket('releases');
6666
await super.start();
6767
}
6868

workers/archiver/src/types.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { ObjectId } from 'mongodb';
2-
import { ProjectDBScheme } from 'hawk.types';
2+
import { CommitData, ProjectDBScheme } from 'hawk.types';
33

44
/**
55
* Report data for specific project
@@ -92,6 +92,11 @@ export interface ReleaseRecord {
9292
*/
9393
projectId: string;
9494

95+
/**
96+
* Commits data
97+
*/
98+
commits: CommitData[];
99+
95100
/**
96101
* Bundle version for this source map
97102
*/

workers/archiver/tests/index.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ describe('Archiver worker', () => {
108108
});
109109

110110
test('Should remove old releases', async () => {
111-
await db.collection('releases-js').insertMany(mockedReleases);
111+
await db.collection('releases').insertMany(mockedReleases);
112112

113113
const worker = new ArchiverWorker();
114114

@@ -117,7 +117,7 @@ describe('Archiver worker', () => {
117117

118118
await worker['removeOldReleases'](mockedProject);
119119

120-
const newReleasesCollection = await db.collection('releases-js')
120+
const newReleasesCollection = await db.collection('releases')
121121
.find({})
122122
.toArray();
123123

workers/javascript/src/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ import { EventWorker } from '../../../lib/event-worker';
55
import { DatabaseReadWriteError } from '../../../lib/workerErrors';
66
import * as WorkerNames from '../../../lib/workerNames';
77
import { GroupWorkerTask } from '../../grouper/types/group-worker-task';
8-
import { SourceMapDataExtended, SourceMapsRecord } from '../../source-maps/types/source-maps-record';
8+
import { SourceMapsRecord } from '../../release/types';
99
import * as pkg from '../package.json';
1010
import { JavaScriptEventWorkerTask } from '../types/javascript-event-worker-task';
1111
import HawkCatcher from '@hawk.so/nodejs';
1212
import Crypto from '../../../lib/utils/crypto';
1313
import { rightTrim } from '../../../lib/utils/string';
14-
import { BacktraceFrame, SourceCodeLine } from 'hawk.types';
14+
import { BacktraceFrame, SourceCodeLine, SourceMapDataExtended } from 'hawk.types';
1515
import { beautifyUserAgent } from './utils';
1616

1717
/**
@@ -31,7 +31,7 @@ export default class JavascriptEventWorker extends EventWorker {
3131
/**
3232
* Collection where source maps stored
3333
*/
34-
private releasesDbCollectionName = 'releases-js';
34+
private releasesDbCollectionName = 'releases';
3535

3636
/**
3737
* Extract base filename from path

0 commit comments

Comments
 (0)