mirror: A fast canonicalisation utility for stable object equality
0

Configure Feed

Select the types of activity you want to include in your feed.

ci: pin actions to git hashes

Marais Rossouw (Jun 24, 2026, 11:52 AM +1000) 9c5af026 bd4522d8

+30 -25
+22 -22
.github/workflows/ci.yml
··· 2 2 3 3 on: 4 4 push: 5 - branches: ["**"] 6 - tags: ["v**"] 5 + branches: ['**'] 6 + tags: ['v**'] 7 7 8 8 env: 9 - DENO_VERSION: 1.46 9 + DENO_VERSION: 2.8.3 10 10 11 11 jobs: 12 12 health: 13 - name: Health 14 - runs-on: ubuntu-latest 13 + name: health 14 + runs-on: ubuntu-24.04-arm 15 15 steps: 16 - - uses: actions/checkout@v4 17 - - uses: denoland/setup-deno@v1 16 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 17 + - uses: denoland/setup-deno@667a34cdef165d8d2b2e98dde39547c9daac7282 # v2.0.3 18 18 with: 19 19 deno-version: ${{ env.DENO_VERSION }} 20 20 ··· 27 27 28 28 dryrun: 29 29 needs: [health] 30 - name: "Publish (dry run)" 30 + name: 'publish (dry run)' 31 31 if: ${{ !startsWith(github.ref, 'refs/tags/v') }} 32 - runs-on: ubuntu-latest 32 + runs-on: ubuntu-24.04-arm 33 33 steps: 34 - - uses: actions/checkout@v4 35 - - uses: denoland/setup-deno@v1 34 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 35 + - uses: denoland/setup-deno@667a34cdef165d8d2b2e98dde39547c9daac7282 # v2.0.3 36 36 with: 37 37 deno-version: ${{ env.DENO_VERSION }} 38 - - uses: actions/setup-node@v4 38 + - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 39 39 with: 40 40 node-version: 20 41 - registry-url: "https://registry.npmjs.org" 41 + registry-url: 'https://registry.npmjs.org' 42 42 43 43 - run: deno task build 44 44 - run: npm publish --dry-run ··· 49 49 # https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages#publishing-packages-to-the-npm-registry 50 50 publish: 51 51 needs: [health] 52 - name: Publish 53 - runs-on: ubuntu-latest 52 + name: publish 53 + runs-on: ubuntu-24.04-arm 54 54 if: startsWith(github.ref, 'refs/tags/v') 55 55 permissions: 56 56 contents: read 57 57 id-token: write # -> authentication 58 58 steps: 59 - - uses: actions/checkout@v4 60 - - uses: denoland/setup-deno@v1 59 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 60 + - uses: denoland/setup-deno@667a34cdef165d8d2b2e98dde39547c9daac7282 # v2.0.3 61 61 with: 62 62 deno-version: ${{ env.DENO_VERSION }} 63 - - uses: actions/setup-node@v4 63 + - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 64 64 with: 65 65 node-version: 20 66 - registry-url: "https://registry.npmjs.org" 66 + registry-url: 'https://registry.npmjs.org' 67 67 68 68 - run: deno task build 69 69 70 - - name: "Publish → jsr" 70 + - name: 'Publish → jsr' 71 71 if: ${{ !contains(github.ref, '-next.') }} 72 72 run: deno publish --no-check 73 73 74 - - name: "Publish → npm" 74 + - name: 'Publish → npm' 75 75 if: ${{ !contains(github.ref, '-next.') }} 76 76 run: npm publish --provenance --access public 77 77 working-directory: npm 78 78 79 - - name: "Publish → npm (pre-release)" 79 + - name: 'Publish → npm (pre-release)' 80 80 if: ${{ contains(github.ref, '-next.') }} 81 81 run: npm publish --tag next --provenance --access public 82 82 working-directory: npm
+1
deno.json
··· 9 9 "@std/assert": "jsr:@std/assert@^1", 10 10 "@std/path": "jsr:@std/path@^1" 11 11 }, 12 + "nodeModulesDir": "auto", 12 13 "lock": false, 13 14 "lint": { 14 15 "rules": {
+5 -3
lib/mod.bench.ts
··· 1 - import objectHash from 'npm:object-hash'; 2 - import jsonStableStringify from 'npm:json-stable-stringify'; 3 - import { stringify as tinyStableStringify } from 'npm:tiny-stable-stringify'; 1 + // deno-lint-ignore-file no-import-prefix 2 + 3 + import objectHash from 'npm:object-hash@^3.0'; 4 + import jsonStableStringify from 'npm:json-stable-stringify@^1.3'; 5 + import { stringify as tinyStableStringify } from 'npm:tiny-stable-stringify@^0.1'; 4 6 5 7 import { identify } from './mod.ts'; 6 8
+2
scripts/build.ts
··· 1 + // deno-lint-ignore-file no-import-prefix 2 + 1 3 // Credit @lukeed https://github.com/lukeed/empathic/blob/main/scripts/build.ts 2 4 3 5 // Publish: