diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 27442f27..58d4c071 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -321,7 +321,7 @@ jobs: Move-Item -Path "D:\a\amazon-kinesis-video-streams-producer-sdk-cpp\amazon-kinesis-video-streams-producer-sdk-cpp\*" -Destination "C:\amazon-kinesis-video-streams-producer-sdk-cpp" - name: Install dependencies run: | - choco install nasm strawberryperl + choco install nasm strawberryperl pkgconfiglite choco install gstreamer --version=1.22.8 choco install gstreamer-devel --version=1.22.8 - name: Build repository diff --git a/.github/workflows/version-check.yml b/.github/workflows/version-check.yml new file mode 100644 index 00000000..ec0a7e9d --- /dev/null +++ b/.github/workflows/version-check.yml @@ -0,0 +1,42 @@ +name: Check Version Mismatch between PR branch and master. + +on: + pull_request: + branches: + - master + +jobs: + check-version: + runs-on: ubuntu-latest + steps: + - name: Checkout PR branch + uses: actions/checkout@v4 + + - name: Get version from PR + id: pr_version + run: | + PR_VERSION=$(grep -Po 'KinesisVideoProducerCpp VERSION \K[0-9]+\.[0-9]+\.[0-9]+' CMakeLists.txt) + echo "PR_VERSION=$PR_VERSION" >> "$GITHUB_ENV" + echo "PR Version: $PR_VERSION" + + - name: Checkout master branch + uses: actions/checkout@v4 + with: + ref: master + + - name: Get version from master + id: master_version + run: | + MASTER_VERSION=$(grep -Po 'KinesisVideoProducerCpp VERSION \K[0-9]+\.[0-9]+\.[0-9]+' CMakeLists.txt) + echo "MASTER_VERSION=$MASTER_VERSION" >> "$GITHUB_ENV" + echo "Master version: $MASTER_VERSION" + + - name: Compare versions + run: | + echo "Comparing PR Version: $PR_VERSION with Master Version: $MASTER_VERSION" + if [ "$MASTER_VERSION" == "$PR_VERSION" ]; then + echo "Please update the version in CMakeLists.txt file (project(KinesisVideoProducerCpp VERSION LANGUAGES C). Any PR getting merged to master requires a version update" + exit 1 + else + echo "Version update detected." + fi \ No newline at end of file