bitmovin-player-ui 3.52.2 → 3.53.0

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.
@@ -0,0 +1,29 @@
1
+ const semver = require('semver');
2
+
3
+ function getPlayerUiVersion(versionInput) {
4
+ const playerUiVersion = semver.valid(versionInput);
5
+ if (!playerUiVersion) {
6
+ console.error(`${versionInput} is not a valid semver`);
7
+ process.exit(1);
8
+ }
9
+
10
+ return {
11
+ major: semver.major(playerUiVersion),
12
+ minor: semver.minor(playerUiVersion),
13
+ patch: semver.patch(playerUiVersion),
14
+ prereleaseLabels: semver.prerelease(playerUiVersion),
15
+ full: playerUiVersion,
16
+ };
17
+ }
18
+
19
+ function defineReleaseVersion({ core }, targetReleaseLevel, givenVersion) {
20
+ core.info(`Defining new release version for level ${targetReleaseLevel} and version ${givenVersion}`);
21
+
22
+ const newVersion = semver.inc(givenVersion, targetReleaseLevel);
23
+
24
+ const parsedPlayerVersion = getPlayerUiVersion(newVersion);
25
+ core.info(`Using release version ${parsedPlayerVersion.full}`);
26
+ return parsedPlayerVersion;
27
+ }
28
+
29
+ module.exports.defineReleaseVersion = defineReleaseVersion;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Updates the changelog by replacing the changelog header with the correct version
3
+ *
4
+ * @param {string} changelogString the content of the changelog file
5
+ * @param {string} version the player version to be released
6
+ * @param {string} releaseDate the release date to be written to the changelog
7
+ */
8
+ function updateChangeLog(changelogString, version, releaseDate) {
9
+ const optionalBetaOrRc = '(-rc.d+)?(-(b|beta).d+)?';
10
+ const changelogVersionRegExp = new RegExp(
11
+ `\\[(development|develop|unreleased|${version})${optionalBetaOrRc}.*`,
12
+ 'gi',
13
+ );
14
+ return changelogString.replace(changelogVersionRegExp, `[${version}] - ${releaseDate}`);
15
+ }
16
+
17
+ module.exports.updateChangeLog = updateChangeLog;
@@ -0,0 +1,70 @@
1
+ name: Trigger release on merge
2
+ run-name: Starting release for ${{ github.actor }} PR merge
3
+ on:
4
+ pull_request:
5
+ types:
6
+ - closed
7
+ branches:
8
+ - develop
9
+
10
+ jobs:
11
+ trigger-ui-release:
12
+ if: github.event.pull_request.merged == true
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - name: Checkout
16
+ uses: actions/checkout@v2
17
+ with:
18
+ token: ${{ secrets.RELEASE_DEPLOY_KEY }}
19
+ ref: develop
20
+
21
+ - name: Install dependencies
22
+ run: npm ci
23
+
24
+ - name: Read package.json version
25
+ uses: actions/github-script@v6
26
+ id: define-package-json-version
27
+ with:
28
+ script: |
29
+ const { version } = require('./package.json')
30
+ core.info(`performing a minor release for existing version ${version}`)
31
+ core.setOutput('packageJsonVersion', version)
32
+
33
+ - name: Define release version
34
+ uses: actions/github-script@v6
35
+ id: define-release-version
36
+ with:
37
+ script: |
38
+ const { defineReleaseVersion } = require('./.github/scripts/defineVersion.js')
39
+ return defineReleaseVersion({core}, 'minor', "${{ steps.define-package-json-version.outputs.packageJsonVersion }}" )
40
+
41
+ - name: Bump package.json version
42
+ run: |
43
+ git config --global user.name 'Automated Release'
44
+ git config --global user.email 'release-automation@bitmovin.com'
45
+ npm version "${{ fromJson(steps.define-release-version.outputs.result).full }}"
46
+
47
+ - name: Update Changelog
48
+ uses: actions/github-script@v6
49
+ with:
50
+ script: |
51
+ const fs = require('fs');
52
+ const { updateChangeLog } = require('./.github/scripts/updateChangelog.js')
53
+
54
+ const stableVersion = '${{ fromJson(steps.define-release-version.outputs.result).full }}'.split('-')[0]
55
+ const releaseDate = new Date().toISOString().split('T')[0]
56
+
57
+ const data = fs.readFileSync('./CHANGELOG.md',{encoding:'utf8', flag:'r'});
58
+
59
+ core.info(`Updating ${stableVersion} with date ${releaseDate} in Changelog`);
60
+
61
+ const changelogFileContents = updateChangeLog(data, stableVersion, releaseDate);
62
+
63
+ fs.writeFileSync('./CHANGELOG.md', changelogFileContents, 'utf-8');
64
+
65
+ - name: Push changes
66
+ run: |
67
+ git add .
68
+ git commit -m "Add release date to changelog"
69
+ git push origin develop
70
+ git push origin --tags
package/CHANGELOG.md CHANGED
@@ -4,7 +4,10 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
- ## [Unreleased]
7
+ ## [develop]
8
+
9
+ ### Added
10
+ - Automate release on every PR merge to develop
8
11
 
9
12
  ## [3.52.2] - 2023-11-23
10
13
 
Binary file
@@ -10444,7 +10444,7 @@ module.exports={
10444
10444
  Object.defineProperty(exports, "__esModule", { value: true });
10445
10445
  exports.VolumeControlButton = exports.TitleBar = exports.SubtitleSelectBox = exports.SubtitleOverlay = exports.SeekBarLabel = exports.RecommendationOverlay = exports.ErrorMessageOverlay = exports.Component = exports.CastToggleButton = exports.CastStatusOverlay = exports.AudioTrackSelectBox = exports.AudioQualitySelectBox = exports.Label = exports.Container = exports.UIContainer = exports.Watermark = exports.VRToggleButton = exports.VolumeToggleButton = exports.VideoQualitySelectBox = exports.ToggleButton = exports.SettingsToggleButton = exports.SettingsPanel = exports.ItemSelectionList = exports.SelectBox = exports.SeekBar = exports.PlaybackToggleButton = exports.PlaybackTimeLabelMode = exports.PlaybackTimeLabel = exports.HugePlaybackToggleButton = exports.FullscreenToggleButton = exports.ControlBar = exports.Button = exports.ListOrientation = exports.ListNavigationGroup = exports.RootNavigationGroup = exports.NavigationGroup = exports.SpatialNavigation = exports.i18n = exports.ErrorUtils = exports.StorageUtils = exports.BrowserUtils = exports.UIUtils = exports.PlayerUtils = exports.StringUtils = exports.ArrayUtils = exports.DemoFactory = exports.UIFactory = exports.UIInstanceManager = exports.UIManager = exports.version = void 0;
10446
10446
  exports.ReplayButton = exports.SettingsPanelItem = exports.SubtitleSettingsPanelPage = exports.SettingsPanelPageOpenButton = exports.SettingsPanelPageBackButton = exports.SettingsPanelPage = exports.AudioTrackListBox = exports.SubtitleListBox = exports.ListBox = exports.SubtitleSettingsResetButton = exports.WindowOpacitySelectBox = exports.WindowColorSelectBox = exports.SubtitleSettingsLabel = exports.SubtitleSettingSelectBox = exports.FontSizeSelectBox = exports.FontOpacitySelectBox = exports.FontFamilySelectBox = exports.FontColorSelectBox = exports.CharacterEdgeSelectBox = exports.BackgroundOpacitySelectBox = exports.BackgroundColorSelectBox = exports.Spacer = exports.PictureInPictureToggleButton = exports.VolumeSlider = exports.AirPlayToggleButton = exports.MetadataLabelContent = exports.MetadataLabel = exports.CloseButton = exports.PlaybackToggleOverlay = exports.CastUIContainer = exports.BufferingOverlay = exports.HugeReplayButton = exports.PlaybackSpeedSelectBox = exports.AdClickOverlay = exports.AdMessageLabel = exports.AdSkipButton = exports.ClickOverlay = void 0;
10447
- exports.version = '3.52.2';
10447
+ exports.version = '3.53.0';
10448
10448
  // Management
10449
10449
  var uimanager_1 = require("./uimanager");
10450
10450
  Object.defineProperty(exports, "UIManager", { enumerable: true, get: function () { return uimanager_1.UIManager; } });