name: 🔒 Lockfile Consistency Check on: pull_request: branches: [develop, master] push: branches: [develop, master] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: check-lockfile: name: 🔍 Check bun.lock and package.json consistency runs-on: ubuntu-24.04 permissions: contents: read steps: - name: 📥 Checkout repository uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: ref: ${{ github.event.pull_request.head.sha || github.sha }} show-progress: false submodules: recursive fetch-depth: 0 - name: 🍞 Setup Bun uses: oven-sh/setup-bun@b7a1c7ccf290d58743029c4f6903da283811b979 # v2.1.0 with: bun-version: latest - name: 💾 Cache Bun dependencies uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 with: path: | ~/.bun/install/cache key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }} - name: 🛡️ Verify lockfile consistency run: | set -euxo pipefail echo "➡️ Checking for discrepancies between bun.lock and package.json..." bun install --frozen-lockfile --dry-run --ignore-scripts echo "✅ Lockfile is consistent with package.json!"