diff --git a/.github/workflows/run_upd_dependency.yaml b/.github/workflows/run_upd_dependency.yaml new file mode 100644 index 0000000..1796edf --- /dev/null +++ b/.github/workflows/run_upd_dependency.yaml @@ -0,0 +1,63 @@ +on: + workflow_call: + +jobs: + update_package_json: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Install jq for JSON processing + run: sudo apt-get -y install jq + + - name: Check updates Kaltura dependencies + run: | + # Define Kaltura dependencies + kalturaDependencies=( + '{"name": "playkit-kaltura-cuepoints", "package": "@playkit-js/playkit-js-kaltura-cuepoints"}' + '{"name": "playkit-timeline", "package": "@playkit-js/playkit-js-timeline"}' + '{"name": "playkit-ui-managers", "package": "@playkit-js/ui-managers"}' + ) + + # Check and update a dependency + checkAndUpdateDependency() { + local dependencyName="$1" + local packageName="$2" + local currentContent=$(cat package.json) + local currentVersion=$(echo "$currentContent" | jq -r ".kaltura.dependencies.\"$dependencyName\"") + + # Check if the dependency exists in package.json + if [[ "$currentVersion" != "null" ]]; then + # Get the latest version of the package using npm + local latestVersion=$(npm view "$packageName" version) + + # Update the package.json file only if the version has changed + if [[ "$currentVersion" != "$latestVersion" ]]; then + echo "Update $dependencyName to version $latestVersion" + UPDATED_CONTENT=$(echo "$currentContent" | jq ".kaltura.dependencies.\"$dependencyName\" = \"$latestVersion\"") + echo "$UPDATED_CONTENT" > package.json + echo "COMMIT_REQUIRED=true" >> $GITHUB_ENV + else + echo "Dependency $dependencyName already has the latest version: $latestVersion" + fi + else + echo "No $dependencyName dependency found in package.json" + fi + } + + for dependency in "${kalturaDependencies[@]}"; do + dependencyName=$(echo "$dependency" | jq -r ".name") + packageName=$(echo "$dependency" | jq -r ".package") + checkAndUpdateDependency "$dependencyName" "$packageName" + done + + - name: Commit changes + if: env.COMMIT_REQUIRED == 'true' + uses: peter-evans/create-pull-request@v5 + with: + title: 'fix(FEC-00000): Upgrade Kaltura dependencies (automated)' + delete-branch: true + branch: 'upgrade-npm-packages-automated' + commit-message: 'Upgrade Kaltura dependencies (automated)'