@24i/smartapps-bigscreen-rnv-build-engine 0.17.5-alpha.2 → 0.17.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/__tests__/resolvers/resolveBaseUrl.spec.js +33 -12
- package/dist/src/__tests__/resolvers/resolveBuildEnvName.spec.js +23 -0
- package/dist/src/__tests__/resolvers/resolveBuildFileBaseName.spec.js +40 -20
- package/dist/src/__tests__/resolvers/resolveBuildFileName.spec.js +40 -20
- package/dist/src/__tests__/resolvers/resolveBuildVersion.spec.js +20 -10
- package/dist/src/__tests__/resolvers/resolveDeployLocations.spec.js +11 -11
- package/dist/src/__tests__/resolvers/resolveHbbtvDeployUrl.spec.js +21 -9
- package/dist/src/__tests__/resolvers/resolveHbbtvRemoteBuildDirRelativePath.spec.js +29 -10
- package/dist/src/constants/buildSchemes.js +10 -5
- package/dist/src/resolvers/index.js +3 -1
- package/dist/src/resolvers/resolveBaseUrl.js +11 -6
- package/dist/src/resolvers/resolveBuildEnvName.js +23 -0
- package/dist/src/resolvers/resolveBuildFileBaseName.js +17 -5
- package/dist/src/resolvers/resolveBuildVersion.js +10 -5
- package/dist/src/resolvers/resolveHbbtvRemoteBuildDirRelativePath.js +11 -6
- package/dist/src/scripts/generateDeployUrls/generateDeployUrls.js +90 -33
- package/dist/src/scripts/generateDeployUrls/makeTableDataByScheme.js +3 -1
- package/dist/src/scripts/release/notifySlack/makePayload.js +5 -1
- package/dist/src/scripts/release/notifySlack/notifySlack.js +10 -5
- package/dist/src/scripts/releaseAllWithScheme.js +17 -6
- package/dist/src/utils/zipBuildsByPlatforms.js +1 -1
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeFromJavaScript.kt +0 -44
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/MediaEventType.kt +1 -3
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/viewmodel/WebViewModel.kt +0 -11
- package/jest.config.js +2 -2
- package/package.json +1 -1
|
@@ -55,9 +55,12 @@ describe('resolveBaseUrl', () => {
|
|
|
55
55
|
it('returns empty string for other build schemes as latest or distribution', () => {
|
|
56
56
|
const schemesWithDefinedBaseUrl = [
|
|
57
57
|
constants_1.BuildSchemes.DEV_LATEST,
|
|
58
|
-
constants_1.BuildSchemes.
|
|
59
|
-
constants_1.BuildSchemes.
|
|
60
|
-
constants_1.BuildSchemes.
|
|
58
|
+
constants_1.BuildSchemes.RC_STAGING_LATEST,
|
|
59
|
+
constants_1.BuildSchemes.RC_PROD_LATEST,
|
|
60
|
+
constants_1.BuildSchemes.RELEASE_STAGING_LATEST,
|
|
61
|
+
constants_1.BuildSchemes.RELEASE_PROD_LATEST,
|
|
62
|
+
constants_1.BuildSchemes.RELEASE_STAGING_DIST,
|
|
63
|
+
constants_1.BuildSchemes.RELEASE_PROD_DIST,
|
|
61
64
|
];
|
|
62
65
|
Object.values(constants_1.Platforms).forEach((platform) => {
|
|
63
66
|
Object.values(constants_1.BuildSchemes).forEach((scheme) => {
|
|
@@ -77,22 +80,40 @@ describe('resolveBaseUrl', () => {
|
|
|
77
80
|
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/latest/dev`);
|
|
78
81
|
});
|
|
79
82
|
});
|
|
80
|
-
it('returns proper url for "latest release candidate" scheme', () => {
|
|
81
|
-
const scheme = constants_1.BuildSchemes.
|
|
83
|
+
it('returns proper url for "latest release candidate (staging)" scheme', () => {
|
|
84
|
+
const scheme = constants_1.BuildSchemes.RC_STAGING_LATEST;
|
|
82
85
|
Object.values(constants_1.Platforms).forEach((platform) => {
|
|
83
|
-
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/latest/rc`);
|
|
86
|
+
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/latest/rc/staging`);
|
|
84
87
|
});
|
|
85
88
|
});
|
|
86
|
-
it('returns proper url for "latest release"
|
|
87
|
-
const scheme = constants_1.BuildSchemes.
|
|
89
|
+
it('returns proper url for "latest release candidate (production)" scheme', () => {
|
|
90
|
+
const scheme = constants_1.BuildSchemes.RC_PROD_LATEST;
|
|
88
91
|
Object.values(constants_1.Platforms).forEach((platform) => {
|
|
89
|
-
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/latest/
|
|
92
|
+
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/latest/rc/production`);
|
|
90
93
|
});
|
|
91
94
|
});
|
|
92
|
-
it('returns proper url for "
|
|
93
|
-
const scheme = constants_1.BuildSchemes.
|
|
95
|
+
it('returns proper url for "latest release (staging)" build scheme', () => {
|
|
96
|
+
const scheme = constants_1.BuildSchemes.RELEASE_STAGING_LATEST;
|
|
94
97
|
Object.values(constants_1.Platforms).forEach((platform) => {
|
|
95
|
-
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/
|
|
98
|
+
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/latest/release/staging`);
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
it('returns proper url for "latest release (production)" build scheme', () => {
|
|
102
|
+
const scheme = constants_1.BuildSchemes.RELEASE_PROD_LATEST;
|
|
103
|
+
Object.values(constants_1.Platforms).forEach((platform) => {
|
|
104
|
+
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/latest/release/production`);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
it('returns proper url for "distribution release (staging)" build scheme', () => {
|
|
108
|
+
const scheme = constants_1.BuildSchemes.RELEASE_STAGING_DIST;
|
|
109
|
+
Object.values(constants_1.Platforms).forEach((platform) => {
|
|
110
|
+
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/dist/v${packageVersion}/staging`);
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
it('returns proper url for "distribution release (production)" build scheme', () => {
|
|
114
|
+
const scheme = constants_1.BuildSchemes.RELEASE_PROD_DIST;
|
|
115
|
+
Object.values(constants_1.Platforms).forEach((platform) => {
|
|
116
|
+
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/dist/v${packageVersion}/production`);
|
|
96
117
|
});
|
|
97
118
|
});
|
|
98
119
|
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const buildSchemes_1 = require("../../constants/buildSchemes");
|
|
4
|
+
const resolveBuildEnvName_1 = require("../../resolvers/resolveBuildEnvName");
|
|
5
|
+
describe('resolveBuildEnvName', () => {
|
|
6
|
+
it.each([
|
|
7
|
+
[buildSchemes_1.BuildSchemes.DEBUG, 'development'],
|
|
8
|
+
[buildSchemes_1.BuildSchemes.DEV, 'development'],
|
|
9
|
+
[buildSchemes_1.BuildSchemes.DEV_LATEST, 'development'],
|
|
10
|
+
[buildSchemes_1.BuildSchemes.RC_STAGING, 'staging'],
|
|
11
|
+
[buildSchemes_1.BuildSchemes.RC_PROD, 'production'],
|
|
12
|
+
[buildSchemes_1.BuildSchemes.RC_STAGING_LATEST, 'staging'],
|
|
13
|
+
[buildSchemes_1.BuildSchemes.RC_PROD_LATEST, 'production'],
|
|
14
|
+
[buildSchemes_1.BuildSchemes.RELEASE_STAGING, 'staging'],
|
|
15
|
+
[buildSchemes_1.BuildSchemes.RELEASE_PROD, 'production'],
|
|
16
|
+
[buildSchemes_1.BuildSchemes.RELEASE_STAGING_LATEST, 'staging'],
|
|
17
|
+
[buildSchemes_1.BuildSchemes.RELEASE_PROD_LATEST, 'production'],
|
|
18
|
+
[buildSchemes_1.BuildSchemes.RELEASE_STAGING_DIST, 'staging'],
|
|
19
|
+
[buildSchemes_1.BuildSchemes.RELEASE_PROD_DIST, 'production'],
|
|
20
|
+
])('scheme "%s" has environment "%s"', (scheme, envName) => {
|
|
21
|
+
expect((0, resolveBuildEnvName_1.resolveBuildEnvName)(scheme)).toBe(envName);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
@@ -37,16 +37,26 @@ describe('resolveBuildFileBaseName', () => {
|
|
|
37
37
|
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0.dev_flavour`);
|
|
38
38
|
c.runtime.scheme = constants_1.BuildSchemes.DEV_LATEST;
|
|
39
39
|
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_latest.dev_flavour`);
|
|
40
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
41
|
-
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0.
|
|
42
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
43
|
-
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}
|
|
44
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
45
|
-
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}
|
|
46
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
47
|
-
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_latest.
|
|
48
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
49
|
-
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.
|
|
40
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_STAGING;
|
|
41
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0.rc-staging_flavour`);
|
|
42
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_PROD;
|
|
43
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0.rc-production_flavour`);
|
|
44
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_STAGING_LATEST;
|
|
45
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_latest.rc-staging_flavour`);
|
|
46
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_PROD_LATEST;
|
|
47
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_latest.rc-production_flavour`);
|
|
48
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_STAGING;
|
|
49
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0-staging_flavour`);
|
|
50
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD;
|
|
51
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0-production_flavour`);
|
|
52
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_STAGING_LATEST;
|
|
53
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_latest.release-staging_flavour`);
|
|
54
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD_LATEST;
|
|
55
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_latest.release-production_flavour`);
|
|
56
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_STAGING_DIST;
|
|
57
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0-staging_flavour`);
|
|
58
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD_DIST;
|
|
59
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0-production_flavour`);
|
|
50
60
|
});
|
|
51
61
|
});
|
|
52
62
|
it('returns proper string when there is version offset', () => {
|
|
@@ -59,16 +69,26 @@ describe('resolveBuildFileBaseName', () => {
|
|
|
59
69
|
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0.dev-1_flavour`);
|
|
60
70
|
c.runtime.scheme = constants_1.BuildSchemes.DEV_LATEST;
|
|
61
71
|
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_latest.dev_flavour`);
|
|
62
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
63
|
-
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0.rc-
|
|
64
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
65
|
-
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}
|
|
66
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
67
|
-
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}
|
|
68
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
69
|
-
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_latest.
|
|
70
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
71
|
-
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0-
|
|
72
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_STAGING;
|
|
73
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0.rc-1-staging_flavour`);
|
|
74
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_PROD;
|
|
75
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0.rc-1-production_flavour`);
|
|
76
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_STAGING_LATEST;
|
|
77
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_latest.rc-staging_flavour`);
|
|
78
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_PROD_LATEST;
|
|
79
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_latest.rc-production_flavour`);
|
|
80
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_STAGING;
|
|
81
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0-1-staging_flavour`);
|
|
82
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD;
|
|
83
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0-1-production_flavour`);
|
|
84
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_STAGING_LATEST;
|
|
85
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_latest.release-staging_flavour`);
|
|
86
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD_LATEST;
|
|
87
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_latest.release-production_flavour`);
|
|
88
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_STAGING_DIST;
|
|
89
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0-1-staging_flavour`);
|
|
90
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD_DIST;
|
|
91
|
+
expect((0, resolveBuildFileBaseName_1.resolveBuildFileBaseName)(c)).toBe(`appName_${platform}_v1.0.0-1-production_flavour`);
|
|
72
92
|
});
|
|
73
93
|
});
|
|
74
94
|
it('throws an error when c.buildConfig.common.appNameInFileName is not present', () => {
|
|
@@ -45,16 +45,26 @@ describe('resolveBuildFileName', () => {
|
|
|
45
45
|
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.dev_flavour.${ext}`);
|
|
46
46
|
c.runtime.scheme = constants_1.BuildSchemes.DEV_LATEST;
|
|
47
47
|
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.dev_flavour.${ext}`);
|
|
48
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
49
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.
|
|
50
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
51
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}
|
|
52
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
53
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}
|
|
54
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
55
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.
|
|
56
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
57
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.
|
|
48
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_STAGING;
|
|
49
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.rc-staging_flavour.${ext}`);
|
|
50
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_PROD;
|
|
51
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.rc-production_flavour.${ext}`);
|
|
52
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_STAGING_LATEST;
|
|
53
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.rc-staging_flavour.${ext}`);
|
|
54
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_PROD_LATEST;
|
|
55
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.rc-production_flavour.${ext}`);
|
|
56
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_STAGING;
|
|
57
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-staging_flavour.${ext}`);
|
|
58
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD;
|
|
59
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-production_flavour.${ext}`);
|
|
60
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_STAGING_LATEST;
|
|
61
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.release-staging_flavour.${ext}`);
|
|
62
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD_LATEST;
|
|
63
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.release-production_flavour.${ext}`);
|
|
64
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_STAGING_DIST;
|
|
65
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-staging_flavour.${ext}`);
|
|
66
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD_DIST;
|
|
67
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-production_flavour.${ext}`);
|
|
58
68
|
});
|
|
59
69
|
});
|
|
60
70
|
it('returns proper string when there is version offset', () => {
|
|
@@ -68,16 +78,26 @@ describe('resolveBuildFileName', () => {
|
|
|
68
78
|
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.dev-1_flavour.${ext}`);
|
|
69
79
|
c.runtime.scheme = constants_1.BuildSchemes.DEV_LATEST;
|
|
70
80
|
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.dev_flavour.${ext}`);
|
|
71
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
72
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.rc-
|
|
73
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
74
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}
|
|
75
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
76
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}
|
|
77
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
78
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.
|
|
79
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
80
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-
|
|
81
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_STAGING;
|
|
82
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.rc-1-staging_flavour.${ext}`);
|
|
83
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_PROD;
|
|
84
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.rc-1-production_flavour.${ext}`);
|
|
85
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_STAGING_LATEST;
|
|
86
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.rc-staging_flavour.${ext}`);
|
|
87
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_PROD_LATEST;
|
|
88
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.rc-production_flavour.${ext}`);
|
|
89
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_STAGING;
|
|
90
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-1-staging_flavour.${ext}`);
|
|
91
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD;
|
|
92
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-1-production_flavour.${ext}`);
|
|
93
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_STAGING_LATEST;
|
|
94
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.release-staging_flavour.${ext}`);
|
|
95
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD_LATEST;
|
|
96
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.release-production_flavour.${ext}`);
|
|
97
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_STAGING_DIST;
|
|
98
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-1-staging_flavour.${ext}`);
|
|
99
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD_DIST;
|
|
100
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-1-production_flavour.${ext}`);
|
|
81
101
|
});
|
|
82
102
|
});
|
|
83
103
|
it('throws an error when c.buildConfig.common.appNameInFileName is not present', () => {
|
|
@@ -23,11 +23,16 @@ describe('resolveBuildVersion', () => {
|
|
|
23
23
|
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEBUG })).toBe('v1.0.0.debug');
|
|
24
24
|
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEV })).toBe('v1.0.0.dev');
|
|
25
25
|
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEV_LATEST })).toBe('v1.0.0.dev');
|
|
26
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
27
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
28
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
29
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
30
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
26
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RC_STAGING })).toBe('v1.0.0.rc');
|
|
27
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RC_PROD })).toBe('v1.0.0.rc');
|
|
28
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RC_STAGING_LATEST })).toBe('v1.0.0.rc');
|
|
29
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RC_PROD_LATEST })).toBe('v1.0.0.rc');
|
|
30
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_STAGING })).toBe('v1.0.0');
|
|
31
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_PROD })).toBe('v1.0.0');
|
|
32
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_STAGING_LATEST })).toBe('v1.0.0');
|
|
33
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_PROD_LATEST })).toBe('v1.0.0');
|
|
34
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_STAGING_DIST })).toBe('v1.0.0');
|
|
35
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_PROD_DIST })).toBe('v1.0.0');
|
|
31
36
|
});
|
|
32
37
|
});
|
|
33
38
|
it('returns proper string when there is version offset', () => {
|
|
@@ -40,11 +45,16 @@ describe('resolveBuildVersion', () => {
|
|
|
40
45
|
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEBUG })).toBe('v1.0.0.debug-2');
|
|
41
46
|
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEV })).toBe('v1.0.0.dev-2');
|
|
42
47
|
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEV_LATEST })).toBe('v1.0.0.dev-2');
|
|
43
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
44
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
45
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
46
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
47
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
48
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RC_STAGING })).toBe('v1.0.0.rc-2');
|
|
49
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RC_PROD })).toBe('v1.0.0.rc-2');
|
|
50
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RC_STAGING_LATEST })).toBe('v1.0.0.rc-2');
|
|
51
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RC_PROD_LATEST })).toBe('v1.0.0.rc-2');
|
|
52
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_STAGING })).toBe('v1.0.0-2');
|
|
53
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_PROD })).toBe('v1.0.0-2');
|
|
54
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_STAGING_LATEST })).toBe('v1.0.0-2');
|
|
55
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_PROD_LATEST })).toBe('v1.0.0-2');
|
|
56
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_STAGING_DIST })).toBe('v1.0.0-2');
|
|
57
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_STAGING_DIST })).toBe('v1.0.0-2');
|
|
48
58
|
});
|
|
49
59
|
});
|
|
50
60
|
});
|
|
@@ -9,7 +9,7 @@ jest.mock('../../resolvers/resolveBuildVersionOffset');
|
|
|
9
9
|
const c = {
|
|
10
10
|
platform: constants_1.Platforms.WEBTV,
|
|
11
11
|
runtime: {
|
|
12
|
-
scheme: constants_1.BuildSchemes.
|
|
12
|
+
scheme: constants_1.BuildSchemes.RELEASE_PROD_LATEST,
|
|
13
13
|
appId: 'flavour1',
|
|
14
14
|
},
|
|
15
15
|
buildConfig: {
|
|
@@ -64,30 +64,30 @@ describe('resolveDeployLocations', () => {
|
|
|
64
64
|
platforms: {
|
|
65
65
|
hbbtv: {
|
|
66
66
|
flavour3: {
|
|
67
|
-
indexUrl: 'http://nxg-bigscreen-test.24imedia.tv/appName/flavour3/latest/release/public/index.html',
|
|
68
|
-
packageUrl: `${bucketBaseUrl}/builds/hbbtv/flavour3/latest/release/build/appName_hbbtv_latest.
|
|
67
|
+
indexUrl: 'http://nxg-bigscreen-test.24imedia.tv/appName/flavour3/latest/release/production/public/index.html',
|
|
68
|
+
packageUrl: `${bucketBaseUrl}/builds/hbbtv/flavour3/latest/release/production/build/appName_hbbtv_latest.release-production_flavour3.zip`,
|
|
69
69
|
},
|
|
70
70
|
},
|
|
71
71
|
tizen: {
|
|
72
72
|
flavour1: {
|
|
73
|
-
indexUrl: `${bucketBaseUrl}/builds/tizen/flavour1/latest/release/public/index.html`,
|
|
74
|
-
packageUrl: `${bucketBaseUrl}/builds/tizen/flavour1/latest/release/build/appName_tizen_latest.
|
|
73
|
+
indexUrl: `${bucketBaseUrl}/builds/tizen/flavour1/latest/release/production/public/index.html`,
|
|
74
|
+
packageUrl: `${bucketBaseUrl}/builds/tizen/flavour1/latest/release/production/build/appName_tizen_latest.release-production_flavour1.wgt`,
|
|
75
75
|
},
|
|
76
76
|
flavour2: {
|
|
77
|
-
indexUrl: `${bucketBaseUrl}/builds/tizen/flavour2/latest/release/public/index.html`,
|
|
78
|
-
packageUrl: `${bucketBaseUrl}/builds/tizen/flavour2/latest/release/build/appName_tizen_latest.
|
|
77
|
+
indexUrl: `${bucketBaseUrl}/builds/tizen/flavour2/latest/release/production/public/index.html`,
|
|
78
|
+
packageUrl: `${bucketBaseUrl}/builds/tizen/flavour2/latest/release/production/build/appName_tizen_latest.release-production_flavour2.wgt`,
|
|
79
79
|
},
|
|
80
80
|
},
|
|
81
81
|
webtv: {
|
|
82
82
|
flavour1: {
|
|
83
|
-
indexUrl: `${bucketBaseUrl}/builds/webtv/flavour1/latest/release/public/index.html`,
|
|
84
|
-
packageUrl: `${bucketBaseUrl}/builds/webtv/flavour1/latest/release/build/appName_webtv_latest.
|
|
83
|
+
indexUrl: `${bucketBaseUrl}/builds/webtv/flavour1/latest/release/production/public/index.html`,
|
|
84
|
+
packageUrl: `${bucketBaseUrl}/builds/webtv/flavour1/latest/release/production/build/appName_webtv_latest.release-production_flavour1.zip`,
|
|
85
85
|
},
|
|
86
86
|
},
|
|
87
87
|
xbox: {
|
|
88
88
|
flavour1: {
|
|
89
|
-
indexUrl: `${bucketBaseUrl}/builds/xbox/flavour1/latest/release/public/index.html`,
|
|
90
|
-
packageUrl: `${bucketBaseUrl}/builds/xbox/flavour1/latest/release/build/appName_xbox_latest.
|
|
89
|
+
indexUrl: `${bucketBaseUrl}/builds/xbox/flavour1/latest/release/production/public/index.html`,
|
|
90
|
+
packageUrl: `${bucketBaseUrl}/builds/xbox/flavour1/latest/release/production/build/appName_xbox_latest.release-production_flavour1.zip`,
|
|
91
91
|
},
|
|
92
92
|
},
|
|
93
93
|
},
|
|
@@ -15,21 +15,33 @@ describe('resolveHbbtvDeployUrl', () => {
|
|
|
15
15
|
it('returns proper URL for "latest development" build schemes', () => {
|
|
16
16
|
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.DEV_LATEST, 'flavour')).toBe(`${baseUrl}/appName/flavour/latest/dev/public/index.html`);
|
|
17
17
|
});
|
|
18
|
-
it('returns proper URL for "latest release candidate" build schemes', () => {
|
|
19
|
-
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.
|
|
18
|
+
it('returns proper URL for "latest release candidate (staging)" build schemes', () => {
|
|
19
|
+
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.RC_STAGING_LATEST, 'flavour')).toBe(`${baseUrl}/appName/flavour/latest/rc/staging/public/index.html`);
|
|
20
20
|
});
|
|
21
|
-
it('returns proper URL for "latest release" build schemes', () => {
|
|
22
|
-
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.
|
|
21
|
+
it('returns proper URL for "latest release candidate (production)" build schemes', () => {
|
|
22
|
+
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.RC_PROD_LATEST, 'flavour')).toBe(`${baseUrl}/appName/flavour/latest/rc/production/public/index.html`);
|
|
23
23
|
});
|
|
24
|
-
it('returns proper URL for "
|
|
25
|
-
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.
|
|
24
|
+
it('returns proper URL for "latest release (staging)" build schemes', () => {
|
|
25
|
+
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.RELEASE_STAGING_LATEST, 'flavour')).toBe(`${baseUrl}/appName/flavour/latest/release/staging/public/index.html`);
|
|
26
|
+
});
|
|
27
|
+
it('returns proper URL for "latest release (production)" build schemes', () => {
|
|
28
|
+
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.RELEASE_PROD_LATEST, 'flavour')).toBe(`${baseUrl}/appName/flavour/latest/release/production/public/index.html`);
|
|
29
|
+
});
|
|
30
|
+
it('returns proper URL for "distribution release (staging)" build schemes', () => {
|
|
31
|
+
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.RELEASE_STAGING_DIST, 'flavour')).toBe(`${baseUrl}/appName/flavour/dist/v1.0.0/staging/public/index.html`);
|
|
32
|
+
});
|
|
33
|
+
it('returns proper URL for "distribution release (production)" build schemes', () => {
|
|
34
|
+
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.RELEASE_PROD_DIST, 'flavour')).toBe(`${baseUrl}/appName/flavour/dist/v1.0.0/production/public/index.html`);
|
|
26
35
|
});
|
|
27
36
|
it('returns empty string for all other build schemes', () => {
|
|
28
37
|
const ignoredBuildSchemes = [
|
|
29
38
|
constants_1.BuildSchemes.DEV_LATEST,
|
|
30
|
-
constants_1.BuildSchemes.
|
|
31
|
-
constants_1.BuildSchemes.
|
|
32
|
-
constants_1.BuildSchemes.
|
|
39
|
+
constants_1.BuildSchemes.RC_STAGING_LATEST,
|
|
40
|
+
constants_1.BuildSchemes.RC_PROD_LATEST,
|
|
41
|
+
constants_1.BuildSchemes.RELEASE_STAGING_LATEST,
|
|
42
|
+
constants_1.BuildSchemes.RELEASE_PROD_LATEST,
|
|
43
|
+
constants_1.BuildSchemes.RELEASE_STAGING_DIST,
|
|
44
|
+
constants_1.BuildSchemes.RELEASE_PROD_DIST,
|
|
33
45
|
];
|
|
34
46
|
Object
|
|
35
47
|
.values(constants_1.BuildSchemes)
|
|
@@ -15,29 +15,48 @@ describe('resolveHbbtvRemoteBuildDirRelativePath', () => {
|
|
|
15
15
|
const c = { buildConfig: { common: { appNameInFileName: 'appName' } } };
|
|
16
16
|
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)(c, constants_1.BuildSchemes.DEV_LATEST, 'flavour')).toBe('appName/flavour/latest/dev');
|
|
17
17
|
});
|
|
18
|
-
it('returns proper path for "latest release candidate" build scheme', () => {
|
|
18
|
+
it('returns proper path for "latest release candidate (staging)" build scheme', () => {
|
|
19
19
|
const c = { buildConfig: { common: { appNameInFileName: 'appName' } } };
|
|
20
|
-
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)(c, constants_1.BuildSchemes.
|
|
20
|
+
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)(c, constants_1.BuildSchemes.RC_STAGING_LATEST, 'flavour')).toBe('appName/flavour/latest/rc/staging');
|
|
21
21
|
});
|
|
22
|
-
it('returns proper path for "latest release" build scheme', () => {
|
|
22
|
+
it('returns proper path for "latest release candidate (production)" build scheme', () => {
|
|
23
23
|
const c = { buildConfig: { common: { appNameInFileName: 'appName' } } };
|
|
24
|
-
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)(c, constants_1.BuildSchemes.
|
|
24
|
+
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)(c, constants_1.BuildSchemes.RC_PROD_LATEST, 'flavour')).toBe('appName/flavour/latest/rc/production');
|
|
25
25
|
});
|
|
26
|
-
it('returns proper path for "
|
|
26
|
+
it('returns proper path for "latest release (staging)" build scheme', () => {
|
|
27
|
+
const c = { buildConfig: { common: { appNameInFileName: 'appName' } } };
|
|
28
|
+
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)(c, constants_1.BuildSchemes.RELEASE_STAGING_LATEST, 'flavour')).toBe('appName/flavour/latest/release/staging');
|
|
29
|
+
});
|
|
30
|
+
it('returns proper path for "latest release (production)" build scheme', () => {
|
|
31
|
+
const c = { buildConfig: { common: { appNameInFileName: 'appName' } } };
|
|
32
|
+
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)(c, constants_1.BuildSchemes.RELEASE_PROD_LATEST, 'flavour')).toBe('appName/flavour/latest/release/production');
|
|
33
|
+
});
|
|
34
|
+
it('returns proper path for "distribution release (staging)" build scheme', () => {
|
|
35
|
+
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)({
|
|
36
|
+
buildConfig: { common: { appNameInFileName: 'appName', packageVersion: '1.0.0' } },
|
|
37
|
+
}, constants_1.BuildSchemes.RELEASE_STAGING_DIST, 'flavour')).toBe('appName/flavour/dist/v1.0.0/staging');
|
|
38
|
+
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)({
|
|
39
|
+
buildConfig: { common: { appNameInFileName: 'appName' } },
|
|
40
|
+
}, constants_1.BuildSchemes.RELEASE_STAGING_DIST, 'flavour')).toBe('');
|
|
41
|
+
});
|
|
42
|
+
it('returns proper path for "distribution release (production)" build scheme', () => {
|
|
27
43
|
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)({
|
|
28
44
|
buildConfig: { common: { appNameInFileName: 'appName', packageVersion: '1.0.0' } },
|
|
29
|
-
}, constants_1.BuildSchemes.
|
|
45
|
+
}, constants_1.BuildSchemes.RELEASE_PROD_DIST, 'flavour')).toBe('appName/flavour/dist/v1.0.0/production');
|
|
30
46
|
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)({
|
|
31
47
|
buildConfig: { common: { appNameInFileName: 'appName' } },
|
|
32
|
-
}, constants_1.BuildSchemes.
|
|
48
|
+
}, constants_1.BuildSchemes.RELEASE_PROD_DIST, 'flavour')).toBe('');
|
|
33
49
|
});
|
|
34
50
|
it('returns empty string for all other build schemes', () => {
|
|
35
51
|
const c = { buildConfig: { common: { appNameInFileName: 'appName' } } };
|
|
36
52
|
const ignoredBuildSchemes = [
|
|
37
53
|
constants_1.BuildSchemes.DEV_LATEST,
|
|
38
|
-
constants_1.BuildSchemes.
|
|
39
|
-
constants_1.BuildSchemes.
|
|
40
|
-
constants_1.BuildSchemes.
|
|
54
|
+
constants_1.BuildSchemes.RC_STAGING_LATEST,
|
|
55
|
+
constants_1.BuildSchemes.RC_PROD_LATEST,
|
|
56
|
+
constants_1.BuildSchemes.RELEASE_STAGING_LATEST,
|
|
57
|
+
constants_1.BuildSchemes.RELEASE_PROD_LATEST,
|
|
58
|
+
constants_1.BuildSchemes.RELEASE_STAGING_DIST,
|
|
59
|
+
constants_1.BuildSchemes.RELEASE_PROD_DIST,
|
|
41
60
|
];
|
|
42
61
|
Object
|
|
43
62
|
.values(constants_1.BuildSchemes)
|
|
@@ -5,10 +5,15 @@ const BuildSchemes = {
|
|
|
5
5
|
DEBUG: 'debug',
|
|
6
6
|
DEV: 'dev',
|
|
7
7
|
DEV_LATEST: 'dev:latest',
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
RC_STAGING: 'rc:staging',
|
|
9
|
+
RC_STAGING_LATEST: 'rc:staging:latest',
|
|
10
|
+
RC_PROD: 'rc:prod',
|
|
11
|
+
RC_PROD_LATEST: 'rc:prod:latest',
|
|
12
|
+
RELEASE_STAGING: 'release:staging',
|
|
13
|
+
RELEASE_STAGING_LATEST: 'release:staging:latest',
|
|
14
|
+
RELEASE_STAGING_DIST: 'release:staging:dist',
|
|
15
|
+
RELEASE_PROD: 'release:prod',
|
|
16
|
+
RELEASE_PROD_LATEST: 'release:prod:latest',
|
|
17
|
+
RELEASE_PROD_DIST: 'release:prod:dist',
|
|
13
18
|
};
|
|
14
19
|
exports.BuildSchemes = BuildSchemes;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveZippedPlatformBuildsRelativeFilePath = exports.resolvePackageVersions = exports.resolveBuildFileExtension = exports.resolveUsedFlavours = exports.resolveSupportedPlatforms = exports.getBaseConfig = exports.resolveBuildFileName = exports.resolveBuildFileBaseName = exports.resolveHbbtvDeployConfig = exports.resolveHbbtvDeployUrl = exports.resolveHbbtvRemoteBuildDirRelativePath = exports.resolveDeployLocations = exports.resolveBuildVersionOffset = exports.resolveBuildVersion = exports.resolveBaseUrl = void 0;
|
|
3
|
+
exports.resolveZippedPlatformBuildsRelativeFilePath = exports.resolvePackageVersions = exports.resolveBuildFileExtension = exports.resolveUsedFlavours = exports.resolveSupportedPlatforms = exports.getBaseConfig = exports.resolveBuildFileName = exports.resolveBuildFileBaseName = exports.resolveHbbtvDeployConfig = exports.resolveHbbtvDeployUrl = exports.resolveHbbtvRemoteBuildDirRelativePath = exports.resolveDeployLocations = exports.resolveBuildVersionOffset = exports.resolveBuildVersion = exports.resolveBuildEnvName = exports.resolveBaseUrl = void 0;
|
|
4
4
|
var resolveBaseUrl_1 = require("./resolveBaseUrl");
|
|
5
5
|
Object.defineProperty(exports, "resolveBaseUrl", { enumerable: true, get: function () { return resolveBaseUrl_1.resolveBaseUrl; } });
|
|
6
|
+
var resolveBuildEnvName_1 = require("./resolveBuildEnvName");
|
|
7
|
+
Object.defineProperty(exports, "resolveBuildEnvName", { enumerable: true, get: function () { return resolveBuildEnvName_1.resolveBuildEnvName; } });
|
|
6
8
|
var resolveBuildVersion_1 = require("./resolveBuildVersion");
|
|
7
9
|
Object.defineProperty(exports, "resolveBuildVersion", { enumerable: true, get: function () { return resolveBuildVersion_1.resolveBuildVersion; } });
|
|
8
10
|
var resolveBuildVersionOffset_1 = require("./resolveBuildVersionOffset");
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveBaseUrl = void 0;
|
|
4
4
|
const resolveGenericRnvConfig_1 = require("./resolveGenericRnvConfig");
|
|
5
|
+
const resolveBuildEnvName_1 = require("./resolveBuildEnvName");
|
|
5
6
|
const constants_1 = require("../constants");
|
|
6
7
|
const resolveBaseUrl = ({ platform, scheme, flavour }) => {
|
|
7
8
|
const c = (0, resolveGenericRnvConfig_1.getBaseConfig)();
|
|
@@ -15,15 +16,19 @@ const resolveBaseUrl = ({ platform, scheme, flavour }) => {
|
|
|
15
16
|
}
|
|
16
17
|
const bucketUrl = `http://${bucketName}.s3.amazonaws.com`;
|
|
17
18
|
const appFolderUrl = `${bucketUrl}/builds/${platform}/${flavour}`;
|
|
19
|
+
const envName = (0, resolveBuildEnvName_1.resolveBuildEnvName)(c.runtime.scheme);
|
|
18
20
|
switch (scheme) {
|
|
19
21
|
case constants_1.BuildSchemes.DEV_LATEST:
|
|
20
22
|
return `${appFolderUrl}/latest/dev`;
|
|
21
|
-
case constants_1.BuildSchemes.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
case constants_1.BuildSchemes.
|
|
26
|
-
return `${appFolderUrl}/
|
|
23
|
+
case constants_1.BuildSchemes.RC_STAGING_LATEST:
|
|
24
|
+
case constants_1.BuildSchemes.RC_PROD_LATEST:
|
|
25
|
+
return `${appFolderUrl}/latest/rc/${envName}`;
|
|
26
|
+
case constants_1.BuildSchemes.RELEASE_STAGING_LATEST:
|
|
27
|
+
case constants_1.BuildSchemes.RELEASE_PROD_LATEST:
|
|
28
|
+
return `${appFolderUrl}/latest/release/${envName}`;
|
|
29
|
+
case constants_1.BuildSchemes.RELEASE_STAGING_DIST:
|
|
30
|
+
case constants_1.BuildSchemes.RELEASE_PROD_DIST:
|
|
31
|
+
return `${appFolderUrl}/dist/v${packageVersion}/${envName}`;
|
|
27
32
|
default:
|
|
28
33
|
return '';
|
|
29
34
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveBuildEnvName = void 0;
|
|
4
|
+
const constants_1 = require("../constants");
|
|
5
|
+
const resolveBuildEnvName = (scheme) => {
|
|
6
|
+
switch (scheme) {
|
|
7
|
+
case constants_1.BuildSchemes.RC_STAGING:
|
|
8
|
+
case constants_1.BuildSchemes.RC_STAGING_LATEST:
|
|
9
|
+
case constants_1.BuildSchemes.RELEASE_STAGING:
|
|
10
|
+
case constants_1.BuildSchemes.RELEASE_STAGING_LATEST:
|
|
11
|
+
case constants_1.BuildSchemes.RELEASE_STAGING_DIST:
|
|
12
|
+
return 'staging';
|
|
13
|
+
case constants_1.BuildSchemes.RC_PROD:
|
|
14
|
+
case constants_1.BuildSchemes.RC_PROD_LATEST:
|
|
15
|
+
case constants_1.BuildSchemes.RELEASE_PROD:
|
|
16
|
+
case constants_1.BuildSchemes.RELEASE_PROD_LATEST:
|
|
17
|
+
case constants_1.BuildSchemes.RELEASE_PROD_DIST:
|
|
18
|
+
return 'production';
|
|
19
|
+
default:
|
|
20
|
+
return 'development';
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports.resolveBuildEnvName = resolveBuildEnvName;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveBuildFileBaseName = void 0;
|
|
4
4
|
const resolveBuildVersion_1 = require("./resolveBuildVersion");
|
|
5
|
+
const resolveBuildEnvName_1 = require("./resolveBuildEnvName");
|
|
5
6
|
const constants_1 = require("../constants");
|
|
6
7
|
const getBuildVersionForFileName = (c) => {
|
|
7
8
|
const { platform, runtime } = c;
|
|
@@ -9,10 +10,12 @@ const getBuildVersionForFileName = (c) => {
|
|
|
9
10
|
switch (c.runtime.scheme) {
|
|
10
11
|
case constants_1.BuildSchemes.DEV_LATEST:
|
|
11
12
|
return 'latest.dev';
|
|
12
|
-
case constants_1.BuildSchemes.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
case constants_1.BuildSchemes.RC_STAGING_LATEST:
|
|
14
|
+
case constants_1.BuildSchemes.RC_PROD_LATEST:
|
|
15
|
+
return `latest.rc`;
|
|
16
|
+
case constants_1.BuildSchemes.RELEASE_STAGING_LATEST:
|
|
17
|
+
case constants_1.BuildSchemes.RELEASE_PROD_LATEST:
|
|
18
|
+
return `latest.release`;
|
|
16
19
|
default:
|
|
17
20
|
return (0, resolveBuildVersion_1.resolveBuildVersion)({
|
|
18
21
|
platform,
|
|
@@ -23,12 +26,21 @@ const getBuildVersionForFileName = (c) => {
|
|
|
23
26
|
};
|
|
24
27
|
const resolveBuildFileBaseName = (c) => {
|
|
25
28
|
const platformName = c.platform;
|
|
29
|
+
const scheme = c.runtime.scheme;
|
|
26
30
|
const { appNameInFileName } = c.buildConfig.common;
|
|
27
31
|
if (!appNameInFileName) {
|
|
28
32
|
throw new Error('Missing value for "c.buildConfig.common.appNameInFileName"!');
|
|
29
33
|
}
|
|
30
34
|
const appConfigId = c.runtime.appId;
|
|
31
35
|
const buildVersion = getBuildVersionForFileName(c);
|
|
32
|
-
|
|
36
|
+
const envName = (0, resolveBuildEnvName_1.resolveBuildEnvName)(scheme);
|
|
37
|
+
switch (scheme) {
|
|
38
|
+
case constants_1.BuildSchemes.DEBUG:
|
|
39
|
+
case constants_1.BuildSchemes.DEV:
|
|
40
|
+
case constants_1.BuildSchemes.DEV_LATEST:
|
|
41
|
+
return `${appNameInFileName}_${platformName}_${buildVersion}_${appConfigId}`;
|
|
42
|
+
default:
|
|
43
|
+
return `${appNameInFileName}_${platformName}_${buildVersion}-${envName}_${appConfigId}`;
|
|
44
|
+
}
|
|
33
45
|
};
|
|
34
46
|
exports.resolveBuildFileBaseName = resolveBuildFileBaseName;
|
|
@@ -12,12 +12,17 @@ const resolveBuildType = (c) => {
|
|
|
12
12
|
case constants_1.BuildSchemes.DEV:
|
|
13
13
|
case constants_1.BuildSchemes.DEV_LATEST:
|
|
14
14
|
return '.dev';
|
|
15
|
-
case constants_1.BuildSchemes.
|
|
16
|
-
case constants_1.BuildSchemes.
|
|
15
|
+
case constants_1.BuildSchemes.RC_STAGING:
|
|
16
|
+
case constants_1.BuildSchemes.RC_STAGING_LATEST:
|
|
17
|
+
case constants_1.BuildSchemes.RC_PROD:
|
|
18
|
+
case constants_1.BuildSchemes.RC_PROD_LATEST:
|
|
17
19
|
return '.rc';
|
|
18
|
-
case constants_1.BuildSchemes.
|
|
19
|
-
case constants_1.BuildSchemes.
|
|
20
|
-
case constants_1.BuildSchemes.
|
|
20
|
+
case constants_1.BuildSchemes.RELEASE_STAGING:
|
|
21
|
+
case constants_1.BuildSchemes.RELEASE_STAGING_LATEST:
|
|
22
|
+
case constants_1.BuildSchemes.RELEASE_STAGING_DIST:
|
|
23
|
+
case constants_1.BuildSchemes.RELEASE_PROD:
|
|
24
|
+
case constants_1.BuildSchemes.RELEASE_PROD_LATEST:
|
|
25
|
+
case constants_1.BuildSchemes.RELEASE_PROD_DIST:
|
|
21
26
|
return '';
|
|
22
27
|
default:
|
|
23
28
|
throw new Error(`resolveBuildType: scheme "${c.runtime.scheme}" is not defined!`);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveHbbtvRemoteBuildDirRelativePath = void 0;
|
|
4
|
+
const resolveBuildEnvName_1 = require("./resolveBuildEnvName");
|
|
4
5
|
const constants_1 = require("../constants");
|
|
5
6
|
const resolveHbbtvRemoteBuildDirRelativePath = (c, scheme, appConfigId) => {
|
|
6
7
|
const projectDirName = c.buildConfig.common.appNameInFileName;
|
|
@@ -8,15 +9,19 @@ const resolveHbbtvRemoteBuildDirRelativePath = (c, scheme, appConfigId) => {
|
|
|
8
9
|
if (!projectDirName || !appConfigId) {
|
|
9
10
|
return '';
|
|
10
11
|
}
|
|
12
|
+
const envName = (0, resolveBuildEnvName_1.resolveBuildEnvName)(scheme);
|
|
11
13
|
switch (scheme) {
|
|
12
14
|
case constants_1.BuildSchemes.DEV_LATEST:
|
|
13
15
|
return `${projectDirName}/${appConfigId}/latest/dev`;
|
|
14
|
-
case constants_1.BuildSchemes.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
case constants_1.BuildSchemes.
|
|
19
|
-
return
|
|
16
|
+
case constants_1.BuildSchemes.RC_STAGING_LATEST:
|
|
17
|
+
case constants_1.BuildSchemes.RC_PROD_LATEST:
|
|
18
|
+
return `${projectDirName}/${appConfigId}/latest/rc/${envName}`;
|
|
19
|
+
case constants_1.BuildSchemes.RELEASE_STAGING_LATEST:
|
|
20
|
+
case constants_1.BuildSchemes.RELEASE_PROD_LATEST:
|
|
21
|
+
return `${projectDirName}/${appConfigId}/latest/release/${envName}`;
|
|
22
|
+
case constants_1.BuildSchemes.RELEASE_STAGING_DIST:
|
|
23
|
+
case constants_1.BuildSchemes.RELEASE_PROD_DIST:
|
|
24
|
+
return version ? `${projectDirName}/${appConfigId}/dist/v${version}/${envName}` : '';
|
|
20
25
|
default:
|
|
21
26
|
return '';
|
|
22
27
|
}
|
|
@@ -49,39 +49,96 @@ const makeTableMarkdownByScheme = (rnvC, scheme) => {
|
|
|
49
49
|
return tableDataToMarkdown(formattedTableData);
|
|
50
50
|
};
|
|
51
51
|
const deployedEachTimeIntoTheSamePath = '> Deployed each time into the same path.';
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
52
|
+
const schemesMeta = {
|
|
53
|
+
[constants_1.BuildSchemes.DEV_LATEST]: {
|
|
54
|
+
title: 'Latest `development` builds',
|
|
55
|
+
buildEnvironment: (0, resolvers_1.resolveBuildEnvName)(constants_1.BuildSchemes.DEV_LATEST),
|
|
56
|
+
description: [
|
|
57
|
+
'> Latest builds against the development git branch.',
|
|
58
|
+
deployedEachTimeIntoTheSamePath,
|
|
59
|
+
'',
|
|
60
|
+
],
|
|
61
|
+
},
|
|
62
|
+
[constants_1.BuildSchemes.RC_STAGING_LATEST]: {
|
|
63
|
+
title: 'Latest `release candidate` builds',
|
|
64
|
+
buildEnvironment: (0, resolvers_1.resolveBuildEnvName)(constants_1.BuildSchemes.RC_STAGING_LATEST),
|
|
65
|
+
description: [
|
|
66
|
+
'> Latest builds against the release candidate git branch.',
|
|
67
|
+
deployedEachTimeIntoTheSamePath,
|
|
68
|
+
'',
|
|
69
|
+
],
|
|
70
|
+
},
|
|
71
|
+
[constants_1.BuildSchemes.RC_PROD_LATEST]: {
|
|
72
|
+
title: 'Latest `release candidate` builds',
|
|
73
|
+
buildEnvironment: (0, resolvers_1.resolveBuildEnvName)(constants_1.BuildSchemes.RC_PROD_LATEST),
|
|
74
|
+
description: [
|
|
75
|
+
'> Latest builds against the release candidate git branch.',
|
|
76
|
+
deployedEachTimeIntoTheSamePath,
|
|
77
|
+
'',
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
[constants_1.BuildSchemes.RELEASE_STAGING_LATEST]: {
|
|
81
|
+
title: 'Latest `release` builds',
|
|
82
|
+
buildEnvironment: (0, resolvers_1.resolveBuildEnvName)(constants_1.BuildSchemes.RELEASE_STAGING_LATEST),
|
|
83
|
+
description: [
|
|
84
|
+
'> Latest builds against the release git branch.',
|
|
85
|
+
deployedEachTimeIntoTheSamePath,
|
|
86
|
+
'',
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
[constants_1.BuildSchemes.RELEASE_PROD_LATEST]: {
|
|
90
|
+
title: 'Latest `release` builds',
|
|
91
|
+
buildEnvironment: (0, resolvers_1.resolveBuildEnvName)(constants_1.BuildSchemes.RELEASE_PROD_LATEST),
|
|
92
|
+
description: [
|
|
93
|
+
'> Latest builds against the release git branch.',
|
|
94
|
+
deployedEachTimeIntoTheSamePath,
|
|
95
|
+
'',
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
[constants_1.BuildSchemes.RELEASE_STAGING_DIST]: {
|
|
99
|
+
title: 'Distribution `release` builds',
|
|
100
|
+
buildEnvironment: (0, resolvers_1.resolveBuildEnvName)(constants_1.BuildSchemes.RELEASE_STAGING_DIST),
|
|
101
|
+
description: [
|
|
102
|
+
'> Builds against the release git branch.',
|
|
103
|
+
'> Each new release version is deployed into its own folder.',
|
|
104
|
+
'',
|
|
105
|
+
'*In opened URL, just replace `<VERSION>` placeholder with requested app version.*',
|
|
106
|
+
'',
|
|
107
|
+
],
|
|
108
|
+
},
|
|
109
|
+
[constants_1.BuildSchemes.RELEASE_PROD_DIST]: {
|
|
110
|
+
title: 'Distribution `release` builds',
|
|
111
|
+
buildEnvironment: (0, resolvers_1.resolveBuildEnvName)(constants_1.BuildSchemes.RELEASE_PROD_DIST),
|
|
112
|
+
description: [
|
|
113
|
+
'> Builds against the release git branch.',
|
|
114
|
+
'> Each new release version is deployed into its own folder.',
|
|
115
|
+
'',
|
|
116
|
+
'*In opened URL, just replace `<VERSION>` placeholder with requested app version.*',
|
|
117
|
+
'',
|
|
118
|
+
],
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
const makeMarkdownFileContentRows = (rnvC) => {
|
|
122
|
+
let content = [
|
|
123
|
+
`# ${rnvC.buildConfig.projectName}`,
|
|
124
|
+
'## Deploy URLs',
|
|
125
|
+
'',
|
|
126
|
+
'---',
|
|
127
|
+
];
|
|
128
|
+
const supportedSchemes = rnvC.buildConfig.common.deploy.supportedSchemes;
|
|
129
|
+
const schemesContent = supportedSchemes.reduce((acc, scheme) => {
|
|
130
|
+
if (!(scheme in schemesMeta)) {
|
|
131
|
+
throw new Error(`Unknown meta in schemesMeta for scheme: ${scheme}`);
|
|
132
|
+
}
|
|
133
|
+
const { title, description, buildEnvironment, } = schemesMeta[scheme];
|
|
134
|
+
acc.push(`### ${title}`, `Environment: ${buildEnvironment}`, ...description, makeTableMarkdownByScheme(rnvC, scheme), '---');
|
|
135
|
+
return acc;
|
|
136
|
+
}, []);
|
|
137
|
+
return [
|
|
138
|
+
...content,
|
|
139
|
+
...schemesContent,
|
|
140
|
+
];
|
|
141
|
+
};
|
|
85
142
|
const generateDeployUrls = () => {
|
|
86
143
|
const outputFilePath = process.argv[2];
|
|
87
144
|
if (!outputFilePath) {
|
|
@@ -12,7 +12,9 @@ const makePlatformRowData = (rnvC, deployLocations, tableFlavours, platform) =>
|
|
|
12
12
|
const flavourUrls = platformData[tableFlavours[i]];
|
|
13
13
|
if (flavourUrls) {
|
|
14
14
|
let { packageUrl, indexUrl } = flavourUrls;
|
|
15
|
-
|
|
15
|
+
const { scheme } = rnvC.runtime;
|
|
16
|
+
if (scheme === constants_1.BuildSchemes.RELEASE_STAGING_DIST
|
|
17
|
+
|| scheme === constants_1.BuildSchemes.RELEASE_PROD_DIST) {
|
|
16
18
|
const versionRegex = /\d{1,4}\.\d{1,4}\.\d{1,4}/g;
|
|
17
19
|
const versionPlaceholder = '<VERSION>';
|
|
18
20
|
packageUrl = packageUrl.replace(versionRegex, versionPlaceholder);
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeDistributionPayload = exports.makeReleaseCandidatePayload = exports.makeDevelopmentPayload = void 0;
|
|
4
4
|
const slackBlockKitBuilder_1 = require("./slackBlockKitBuilder");
|
|
5
|
+
const buildSchemes_1 = require("../../../constants/buildSchemes");
|
|
5
6
|
const resolvers_1 = require("../../../resolvers");
|
|
6
7
|
const getVersionsObject = (c) => (0, resolvers_1.resolveDeployLocations)(c).versions;
|
|
7
8
|
const getVersion = (c) => Object.keys(getVersionsObject(c))[0] || '';
|
|
@@ -39,6 +40,7 @@ const makeHeaderPayload = (c, title, buttons) => {
|
|
|
39
40
|
const { travisBuild, gitHubRelease } = buttons || {};
|
|
40
41
|
const { owner, repo } = c.buildConfig.common.git || {};
|
|
41
42
|
const version = getVersion(c);
|
|
43
|
+
const envName = (0, resolvers_1.resolveBuildEnvName)(c.runtime.scheme);
|
|
42
44
|
const buttonsData = [];
|
|
43
45
|
if (travisBuild) {
|
|
44
46
|
buttonsData.push({
|
|
@@ -56,6 +58,7 @@ const makeHeaderPayload = (c, title, buttons) => {
|
|
|
56
58
|
slackBlockKitBuilder_1.Divider.plain(),
|
|
57
59
|
slackBlockKitBuilder_1.Section.mrkdwn(title),
|
|
58
60
|
slackBlockKitBuilder_1.Context.mrkdwns([`Version: *${version}*`]),
|
|
61
|
+
slackBlockKitBuilder_1.Context.mrkdwns([`Environment: *${envName}*`]),
|
|
59
62
|
slackBlockKitBuilder_1.Actions.buttons(buttonsData),
|
|
60
63
|
];
|
|
61
64
|
};
|
|
@@ -79,7 +82,8 @@ const makeReleaseCandidatePayload = (c) => {
|
|
|
79
82
|
exports.makeReleaseCandidatePayload = makeReleaseCandidatePayload;
|
|
80
83
|
const makeDistributionPayload = (c) => {
|
|
81
84
|
const title = `There are new *distribution* builds for *${getCommonAppName(c)}* app!`;
|
|
82
|
-
const
|
|
85
|
+
const isGitHubRelease = c.runtime.scheme === buildSchemes_1.BuildSchemes.RELEASE_PROD_DIST;
|
|
86
|
+
const buttons = { travisBuild: true, gitHubRelease: isGitHubRelease };
|
|
83
87
|
return makePayload(c, title, buttons);
|
|
84
88
|
};
|
|
85
89
|
exports.makeDistributionPayload = makeDistributionPayload;
|
|
@@ -27,18 +27,23 @@ exports.notifySlack = void 0;
|
|
|
27
27
|
const child_process_1 = require("child_process");
|
|
28
28
|
const payload = __importStar(require("./makePayload"));
|
|
29
29
|
const constants_1 = require("../../../constants");
|
|
30
|
-
const
|
|
30
|
+
const getSlackPayload = (c) => {
|
|
31
31
|
const releaseType = c.runtime.scheme;
|
|
32
32
|
switch (releaseType) {
|
|
33
|
-
case constants_1.BuildSchemes.DEV_LATEST:
|
|
34
|
-
|
|
35
|
-
case constants_1.BuildSchemes.
|
|
33
|
+
case constants_1.BuildSchemes.DEV_LATEST:
|
|
34
|
+
return payload.makeDevelopmentPayload(c);
|
|
35
|
+
case constants_1.BuildSchemes.RC_STAGING_LATEST:
|
|
36
|
+
case constants_1.BuildSchemes.RC_PROD_LATEST:
|
|
37
|
+
return payload.makeReleaseCandidatePayload(c);
|
|
38
|
+
case constants_1.BuildSchemes.RELEASE_STAGING_DIST:
|
|
39
|
+
case constants_1.BuildSchemes.RELEASE_PROD_DIST:
|
|
40
|
+
return payload.makeDistributionPayload(c);
|
|
36
41
|
default: throw new Error('Notify Slack: unsupported or undefined release type! Did you pass it as an argument?');
|
|
37
42
|
}
|
|
38
43
|
};
|
|
39
44
|
const notifySlack = (c) => {
|
|
40
45
|
const contentType = '"Content-type: application/json"';
|
|
41
|
-
const data = `--data '${JSON.stringify(
|
|
46
|
+
const data = `--data '${JSON.stringify(getSlackPayload(c))}'`;
|
|
42
47
|
const webHookUrl = c.buildConfig.common.deploy.slack?.webhookUrl || '';
|
|
43
48
|
if (webHookUrl) {
|
|
44
49
|
const cmd = `curl -X POST -H ${contentType} ${data} ${webHookUrl}`;
|
|
@@ -34,8 +34,14 @@ const doLatestRelease = (c) => {
|
|
|
34
34
|
console.log('doLatestRelease');
|
|
35
35
|
return deployBuilds(c);
|
|
36
36
|
};
|
|
37
|
-
const
|
|
38
|
-
console.log('
|
|
37
|
+
const doStagingDistributionRelease = (c) => {
|
|
38
|
+
console.log('doStagingDistributionRelease');
|
|
39
|
+
deployBuilds(c);
|
|
40
|
+
(0, notifySlack_1.notifySlack)(c);
|
|
41
|
+
return true;
|
|
42
|
+
};
|
|
43
|
+
const doProductionDistributionRelease = (c) => {
|
|
44
|
+
console.log('doProductionDistributionRelease');
|
|
39
45
|
(0, zipBuildsByPlatforms_1.zipBuildsByPlatforms)(c);
|
|
40
46
|
deployBuilds(c);
|
|
41
47
|
(0, sentryRelease_1.sentryRelease)(c);
|
|
@@ -56,14 +62,19 @@ const releaseAllWithScheme = () => {
|
|
|
56
62
|
case constants_1.BuildSchemes.DEV_LATEST:
|
|
57
63
|
doLatestDevelopmentRelease(c);
|
|
58
64
|
break;
|
|
59
|
-
case constants_1.BuildSchemes.
|
|
65
|
+
case constants_1.BuildSchemes.RC_STAGING_LATEST:
|
|
66
|
+
case constants_1.BuildSchemes.RC_PROD_LATEST:
|
|
60
67
|
doLatestReleaseCandidateRelease(c);
|
|
61
68
|
break;
|
|
62
|
-
case constants_1.BuildSchemes.
|
|
69
|
+
case constants_1.BuildSchemes.RELEASE_STAGING_LATEST:
|
|
70
|
+
case constants_1.BuildSchemes.RELEASE_PROD_LATEST:
|
|
63
71
|
doLatestRelease(c);
|
|
64
72
|
break;
|
|
65
|
-
case constants_1.BuildSchemes.
|
|
66
|
-
|
|
73
|
+
case constants_1.BuildSchemes.RELEASE_STAGING_DIST:
|
|
74
|
+
doStagingDistributionRelease(c);
|
|
75
|
+
break;
|
|
76
|
+
case constants_1.BuildSchemes.RELEASE_PROD_DIST:
|
|
77
|
+
doProductionDistributionRelease(c);
|
|
67
78
|
break;
|
|
68
79
|
default:
|
|
69
80
|
throw new Error('Unsupported scheme to release!');
|
|
@@ -29,7 +29,7 @@ const path_1 = require("path");
|
|
|
29
29
|
const child_process_1 = require("child_process");
|
|
30
30
|
const glob = __importStar(require("glob"));
|
|
31
31
|
const resolvers_1 = require("../resolvers");
|
|
32
|
-
const zipDir = (
|
|
32
|
+
const zipDir = (srcDir, outputFile) => (0, child_process_1.execSync)(`zip ${outputFile} -0 -j ${srcDir}/*`);
|
|
33
33
|
const getPlatformBuildsPaths = (c, platformName) => {
|
|
34
34
|
const { platformBuildsDir } = c.buildConfig.paths;
|
|
35
35
|
const outputGlob = `${platformBuildsDir}/**/output`;
|
|
@@ -282,50 +282,6 @@ class BridgeFromJavaScript(
|
|
|
282
282
|
viewModel.subtitleTrack?.let { toJson(it) } ?: DISABLED_SUBTITLE_TRACK
|
|
283
283
|
}
|
|
284
284
|
|
|
285
|
-
/*
|
|
286
|
-
Returns VIDEO track BITRATE, if not available returns null
|
|
287
|
-
*/
|
|
288
|
-
@JavascriptInterface
|
|
289
|
-
fun bridgeJavaScriptToAndroid_GetBitrate(): Int? = runBlocking("bridgeJavaScriptToAndroid_GetBitrate") {
|
|
290
|
-
viewModel.videoTrack?.bitrate
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
/*
|
|
294
|
-
Returns VIDEO track RENDITION, if not available returns null
|
|
295
|
-
*/
|
|
296
|
-
@JavascriptInterface
|
|
297
|
-
fun bridgeJavaScriptToAndroid_GetRendition(): String? = runBlocking("bridgeJavaScriptToAndroid_GetRendition") {
|
|
298
|
-
viewModel.videoTrack?.run {
|
|
299
|
-
return@runBlocking "${width}x${height}${formatBitrate(bitrate)}"
|
|
300
|
-
}
|
|
301
|
-
null
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
private fun formatBitrate(bitrate: Int): String {
|
|
305
|
-
return when {
|
|
306
|
-
bitrate <= 0 -> ""
|
|
307
|
-
bitrate < 1e3 -> "@${bitrate}bps"
|
|
308
|
-
bitrate < 1e6 -> "@${(bitrate / 1e3).roundToInt()}Kbps"
|
|
309
|
-
else -> "@${(bitrate / 1e4).roundToInt() / 1e2}Mbps"
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
/*
|
|
314
|
-
Returns AUDIO track CODEC, if not available returns null
|
|
315
|
-
*/
|
|
316
|
-
@JavascriptInterface
|
|
317
|
-
fun bridgeJavaScriptToAndroid_GetAudioCodec(): String? = runBlocking("bridgeJavaScriptToAndroid_GetAudioCodec") {
|
|
318
|
-
viewModel.audioTrack?.codec
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
/*
|
|
322
|
-
Returns VIDEO track CODEC, if not available returns null
|
|
323
|
-
*/
|
|
324
|
-
@JavascriptInterface
|
|
325
|
-
fun bridgeJavaScriptToAndroid_GetVideoCodec(): String? = runBlocking("bridgeJavaScriptToAndroid_GetVideoCodec") {
|
|
326
|
-
viewModel.videoTrack?.codec
|
|
327
|
-
}
|
|
328
|
-
|
|
329
285
|
/*
|
|
330
286
|
Set the cookies to localstorage
|
|
331
287
|
*/
|
|
@@ -8,10 +8,8 @@ object MediaEventType {
|
|
|
8
8
|
const val ERROR = "error"
|
|
9
9
|
const val PLAYING = "playing"
|
|
10
10
|
const val PAUSE = "pause"
|
|
11
|
-
const val PLAY = "
|
|
11
|
+
const val PLAY = "pause"
|
|
12
12
|
const val ENDED = "ended"
|
|
13
|
-
const val CANPLAY = "canplay"
|
|
14
|
-
const val LOADEDMETADATA = "loadedmetadata"
|
|
15
13
|
const val WAITING = "waiting"
|
|
16
14
|
const val SEEKING = "seeking"
|
|
17
15
|
const val SEEKED = "seeked"
|
|
@@ -68,8 +68,6 @@ class WebViewModel @Inject constructor(
|
|
|
68
68
|
|
|
69
69
|
private var contentModel: ContentModel? = null
|
|
70
70
|
|
|
71
|
-
val videoTrack: VideoTrack?
|
|
72
|
-
get() = player?.selectedVideoTrack
|
|
73
71
|
val audioTrack: AudioTrack?
|
|
74
72
|
get() = player?.selectedAudioTrack
|
|
75
73
|
val subtitleTrack: TextTrack?
|
|
@@ -357,12 +355,6 @@ class WebViewModel @Inject constructor(
|
|
|
357
355
|
jsBridge.bridgeAndroidToJavaScript_ErrorEvent(MediaEventType.ERROR, "${event.error.message} - ${event.error.nativeCode}")
|
|
358
356
|
stopPlayer()
|
|
359
357
|
}
|
|
360
|
-
is LoadedMetadataEvent -> {
|
|
361
|
-
jsBridge.bridgeAndroidToJavaScript_MediaEvent(MediaEventType.LOADEDMETADATA)
|
|
362
|
-
}
|
|
363
|
-
is CanPlayEvent -> {
|
|
364
|
-
jsBridge.bridgeAndroidToJavaScript_MediaEvent(MediaEventType.CANPLAY)
|
|
365
|
-
}
|
|
366
358
|
is EndedEvent -> {
|
|
367
359
|
jsBridge.bridgeAndroidToJavaScript_MediaEvent(MediaEventType.ENDED)
|
|
368
360
|
}
|
|
@@ -373,9 +365,6 @@ class WebViewModel @Inject constructor(
|
|
|
373
365
|
view?.setBlackCurtainVisibility(View.GONE)
|
|
374
366
|
jsBridge.bridgeAndroidToJavaScript_MediaEvent(MediaEventType.PLAYING)
|
|
375
367
|
}
|
|
376
|
-
is SeekingEvent -> {
|
|
377
|
-
jsBridge.bridgeAndroidToJavaScript_MediaEvent(MediaEventType.SEEKING)
|
|
378
|
-
}
|
|
379
368
|
is SeekedEvent -> {
|
|
380
369
|
jsBridge.bridgeAndroidToJavaScript_MediaEvent(MediaEventType.SEEKED)
|
|
381
370
|
}
|
package/jest.config.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
|
|
2
|
+
preset: 'ts-jest',
|
|
3
|
+
testEnvironment: 'node',
|
|
3
4
|
transformIgnorePatterns: [
|
|
4
5
|
'/node_modules/ansi-color/', // compiler error: Octal literal in strict mode
|
|
5
6
|
'/node_modules/fstream', // compiler error: Octal literal in strict mode
|
|
6
7
|
],
|
|
7
|
-
testEnvironment: 'node',
|
|
8
8
|
};
|