|
31 | 31 | - name: Build Prisma client |
32 | 32 | working-directory: drizzle-orm |
33 | 33 | run: pnpm prisma generate --schema src/prisma/schema.prisma |
| 34 | + - name: Apply version suffix to packages |
| 35 | + shell: bash |
| 36 | + run: | |
| 37 | + set -euxo pipefail |
| 38 | + suffix=$(git rev-parse --short HEAD) |
| 39 | +
|
| 40 | + packages=( |
| 41 | + "drizzle-orm" |
| 42 | + "drizzle-kit" |
| 43 | + "drizzle-zod" |
| 44 | + "drizzle-seed" |
| 45 | + "drizzle-typebox" |
| 46 | + "drizzle-valibot" |
| 47 | + "drizzle-arktype" |
| 48 | + "eslint-plugin-drizzle" |
| 49 | + ) |
| 50 | +
|
| 51 | + for pkg in "${packages[@]}"; do |
| 52 | + pushd "$pkg" >/dev/null |
| 53 | +
|
| 54 | + base_version="$(jq -r '.version' package.json)" |
| 55 | + new_version="${base_version}-${suffix}" |
| 56 | +
|
| 57 | + echo "Setting $pkg version to $new_version" |
| 58 | +
|
| 59 | + jq --arg v "$new_version" '.version = $v' package.json > package.json.tmp |
| 60 | + mv package.json.tmp package.json |
| 61 | +
|
| 62 | + popd >/dev/null |
| 63 | + done |
34 | 64 | - name: Build all |
35 | 65 | run: pnpm build:artifact |
36 | 66 | # Upload compiled JS for tests to reuse |
@@ -344,10 +374,9 @@ jobs: |
344 | 374 | shell: bash |
345 | 375 | run: | |
346 | 376 | set -euxo pipefail |
347 | | - old_version="$(tar -xOf ./artifacts/package.tgz package/package.json | jq -r .version)" |
348 | | - sha="$(git rev-parse --short HEAD)" |
349 | | - version="$old_version-$sha" |
350 | | - tag="${{ github.ref_name }}-$sha" |
| 377 | + version="$(tar -xOf ./artifacts/package.tgz package/package.json | jq -r .version)" |
| 378 | + tag="${{ github.ref_name }}" |
| 379 | + |
351 | 380 | is_published="$(npm view ${{ matrix.package }} versions --json | jq -r '.[] | select(. == "'$version'") | . == "'$version'"')" |
352 | 381 | if [[ "$is_published" == "true" ]]; then |
353 | 382 | echo "\`${{ matrix.package }}@$version\` already published, tagging \`$tag\`" >> $GITHUB_STEP_SUMMARY |
|
0 commit comments