From b5aaa859a2130fa0bc9f8536b31b768e558a8650 Mon Sep 17 00:00:00 2001 From: Gary H <26419401+Gary-H9@users.noreply.github.com> Date: Mon, 8 Jan 2024 14:09:25 +0000 Subject: [PATCH] :pushpin: Enforce Version Pinnings --- .github/workflows/enforce-version-pinning.yml | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/enforce-version-pinning.yml diff --git a/.github/workflows/enforce-version-pinning.yml b/.github/workflows/enforce-version-pinning.yml new file mode 100644 index 00000000..e0d6d0a7 --- /dev/null +++ b/.github/workflows/enforce-version-pinning.yml @@ -0,0 +1,35 @@ +--- + +name: Enforce Version Pinning + +on: + pull_request: + branches: [main] + +jobs: + check-version-pinning: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Check for pinned versions in requirements.txt + run: | + if grep -q -v '==' requirements.txt; then + echo "Unpinned dependencies found in requirements.txt" + echo "❌ Unpinned dependencies found in requirements.txt" + exit 1 + else + echo "✅ All dependencies are correctly pinned." + fi + + - name: Check for pinned versions in package.json + run: | + UNPINNED=$(grep -E '"[^"]+": "\^|~' package.json || true) + if [ -n "$UNPINNED" ]; then + echo "❌ Unpinned dependencies found in package.json:" + echo "$UNPINNED" + exit 1 + else + echo "✅ All dependencies are correctly pinned." + fi