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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 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@735343b667d3e6f658f44d0eca948eb6282f2b76 # v2.0.2 with: bun-version: latest - name: 💾 Cache Bun dependencies uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 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!"