@mannyc1/ts-release 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/ARCHITECTURE.md +60 -0
  2. package/CHANGELOG.md +82 -0
  3. package/README.md +129 -6
  4. package/SPEC.md +51 -0
  5. package/apps/release-ts/README.md +7 -0
  6. package/apps/ts-release-agents/package.json +1 -1
  7. package/apps/ts-release-agents/src/check.ts +7 -2
  8. package/apps/ts-release-agents/test/contract.test.ts +2 -2
  9. package/dist/bin/ts-release.js +154 -47
  10. package/dist/drivers/archive.d.ts +2 -1
  11. package/dist/drivers/archive.d.ts.map +1 -1
  12. package/dist/drivers/archive.js +12 -8
  13. package/dist/drivers/archive.js.map +1 -1
  14. package/dist/drivers/process.d.ts.map +1 -1
  15. package/dist/drivers/process.js +4 -4
  16. package/dist/drivers/process.js.map +1 -1
  17. package/dist/drivers/python-wheel.d.ts +21 -0
  18. package/dist/drivers/python-wheel.d.ts.map +1 -0
  19. package/dist/drivers/python-wheel.js +109 -0
  20. package/dist/drivers/python-wheel.js.map +1 -0
  21. package/dist/drivers/workspace.d.ts +3 -0
  22. package/dist/drivers/workspace.d.ts.map +1 -1
  23. package/dist/drivers/workspace.js +5 -1
  24. package/dist/drivers/workspace.js.map +1 -1
  25. package/dist/operation-journal/authority.d.ts +3 -0
  26. package/dist/operation-journal/authority.d.ts.map +1 -0
  27. package/dist/operation-journal/authority.js +147 -0
  28. package/dist/operation-journal/authority.js.map +1 -0
  29. package/dist/operation-journal/aws/deadline.d.ts +12 -0
  30. package/dist/operation-journal/aws/deadline.d.ts.map +1 -0
  31. package/dist/operation-journal/aws/deadline.js +38 -0
  32. package/dist/operation-journal/aws/deadline.js.map +1 -0
  33. package/dist/operation-journal/aws/oidc.d.ts +27 -0
  34. package/dist/operation-journal/aws/oidc.d.ts.map +1 -0
  35. package/dist/operation-journal/aws/oidc.js +361 -0
  36. package/dist/operation-journal/aws/oidc.js.map +1 -0
  37. package/dist/operation-journal/aws/policy.d.ts +42 -0
  38. package/dist/operation-journal/aws/policy.d.ts.map +1 -0
  39. package/dist/operation-journal/aws/policy.js +404 -0
  40. package/dist/operation-journal/aws/policy.js.map +1 -0
  41. package/dist/operation-journal/aws/s3-boundary.d.ts +17 -0
  42. package/dist/operation-journal/aws/s3-boundary.d.ts.map +1 -0
  43. package/dist/operation-journal/aws/s3-boundary.js +417 -0
  44. package/dist/operation-journal/aws/s3-boundary.js.map +1 -0
  45. package/dist/operation-journal/aws.d.ts +11 -0
  46. package/dist/operation-journal/aws.d.ts.map +1 -0
  47. package/dist/operation-journal/aws.js +50 -0
  48. package/dist/operation-journal/aws.js.map +1 -0
  49. package/dist/operation-journal/canonical.d.ts +52 -0
  50. package/dist/operation-journal/canonical.d.ts.map +1 -0
  51. package/dist/operation-journal/canonical.js +282 -0
  52. package/dist/operation-journal/canonical.js.map +1 -0
  53. package/dist/operation-journal/model.d.ts +251 -0
  54. package/dist/operation-journal/model.d.ts.map +1 -0
  55. package/dist/operation-journal/model.js +56 -0
  56. package/dist/operation-journal/model.js.map +1 -0
  57. package/dist/operation-journal/reducer.d.ts +28 -0
  58. package/dist/operation-journal/reducer.d.ts.map +1 -0
  59. package/dist/operation-journal/reducer.js +73 -0
  60. package/dist/operation-journal/reducer.js.map +1 -0
  61. package/dist/operation-journal/s3.d.ts +7 -0
  62. package/dist/operation-journal/s3.d.ts.map +1 -0
  63. package/dist/operation-journal/s3.js +667 -0
  64. package/dist/operation-journal/s3.js.map +1 -0
  65. package/dist/operation-journal.d.ts +14 -0
  66. package/dist/operation-journal.d.ts.map +1 -0
  67. package/dist/operation-journal.js +12 -0
  68. package/dist/operation-journal.js.map +1 -0
  69. package/dist/platform/credentials.d.ts.map +1 -1
  70. package/dist/platform/credentials.js +65 -3
  71. package/dist/platform/credentials.js.map +1 -1
  72. package/dist/publication/github.d.ts.map +1 -1
  73. package/dist/publication/github.js +66 -15
  74. package/dist/publication/github.js.map +1 -1
  75. package/dist/release/capabilities.d.ts.map +1 -1
  76. package/dist/release/capabilities.js +2 -2
  77. package/dist/release/capabilities.js.map +1 -1
  78. package/dist/release/prepare.d.ts.map +1 -1
  79. package/dist/release/prepare.js +4 -5
  80. package/dist/release/prepare.js.map +1 -1
  81. package/dist/release/prepared-store.d.ts.map +1 -1
  82. package/dist/release/prepared-store.js +11 -9
  83. package/dist/release/prepared-store.js.map +1 -1
  84. package/package.json +19 -4
  85. package/src/drivers/archive.ts +17 -8
  86. package/src/drivers/process.ts +3 -4
  87. package/src/drivers/python-wheel.ts +145 -0
  88. package/src/drivers/workspace.ts +7 -1
  89. package/src/operation-journal/authority.ts +162 -0
  90. package/src/operation-journal/aws/deadline.ts +41 -0
  91. package/src/operation-journal/aws/oidc.ts +439 -0
  92. package/src/operation-journal/aws/policy.ts +491 -0
  93. package/src/operation-journal/aws/s3-boundary.ts +562 -0
  94. package/src/operation-journal/aws.ts +60 -0
  95. package/src/operation-journal/canonical.ts +373 -0
  96. package/src/operation-journal/model.ts +301 -0
  97. package/src/operation-journal/reducer.ts +112 -0
  98. package/src/operation-journal/s3.ts +884 -0
  99. package/src/operation-journal.ts +51 -0
  100. package/src/platform/credentials.ts +71 -3
  101. package/src/publication/github.ts +83 -15
  102. package/src/release/capabilities.ts +3 -2
  103. package/src/release/prepare.ts +3 -5
  104. package/src/release/prepared-store.ts +8 -7
  105. package/templates/README.md +2 -2
  106. package/templates/github-actions/release.yml +24 -7
  107. package/templates/github-actions/reviewed-release.yml +49 -14
@@ -14,32 +14,50 @@ permissions:
14
14
  jobs:
15
15
  prepare:
16
16
  if: ${{ github.ref == 'refs/heads/main' && github.sha == inputs.candidate_sha }}
17
- runs-on: ubuntu-latest
17
+ runs-on: ubuntu-24.04
18
18
  outputs:
19
19
  prepared-ref: ${{ steps.prepare.outputs.prepared-ref }}
20
20
  steps:
21
- - uses: actions/checkout@v4
21
+ - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
22
22
  with:
23
23
  persist-credentials: false
24
- - uses: actions/setup-node@v4
24
+ - id: setup-node
25
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
25
26
  with:
26
27
  node-version: "22.22.2"
27
- - uses: oven-sh/setup-bun@v2
28
+ - id: setup-bun
29
+ uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
28
30
  with:
29
31
  bun-version: "1.3.14"
30
- - run: bun add --global npm@11.5.1
32
+ - id: release-tools
33
+ name: Bind exact release tool paths
34
+ env:
35
+ SETUP_BUN_PATH: ${{ steps.setup-bun.outputs.bun-path }}
36
+ run: |-
37
+ node_path="$(type -P node)"
38
+ bun_path="$(type -P bun)"
39
+ [[ "$node_path" = /* && "$bun_path" = /* ]]
40
+ [[ "$("$node_path" --version)" == v22.22.2 ]]
41
+ [[ "$("$bun_path" --version)" == 1.3.14 ]]
42
+ [[ "$(realpath "$bun_path")" == "$(realpath "$SETUP_BUN_PATH")" ]]
43
+ echo "node-bin=$node_path" >> "$GITHUB_OUTPUT"
44
+ echo "bun-bin=$bun_path" >> "$GITHUB_OUTPUT"
45
+ - run: bun add --global npm@11.11.0
31
46
  - name: Prime isolated Bun dependency cache
32
47
  run: |-
33
48
  bun install --frozen-lockfile --ignore-scripts --no-save --linker=hoisted
34
49
  bun --no-env-file --no-install -e 'await (await import("node:fs/promises")).rm("node_modules", { recursive: true, force: true })'
35
50
  - id: prepare
36
- uses: mannyc2/ts-release/apps/ts-release-action@v0.2.2
51
+ uses: mannyc2/ts-release/apps/ts-release-action@v0.3.0
52
+ env:
53
+ TS_RELEASE_NODE_BIN: ${{ steps.release-tools.outputs.node-bin }}
54
+ TS_RELEASE_BUN_BIN: ${{ steps.release-tools.outputs.bun-bin }}
37
55
  with:
38
56
  command: prepare
39
57
  config: reviewed-release.config.json
40
58
  - name: Upload redacted preparation report
41
59
  if: ${{ always() && steps.prepare.outputs.report-ref != '' }}
42
- uses: actions/upload-artifact@v4
60
+ uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
43
61
  with:
44
62
  name: ts-release-prepare-report-${{ github.run_attempt }}
45
63
  path: ${{ steps.prepare.outputs.report-ref }}
@@ -48,32 +66,49 @@ jobs:
48
66
  publish:
49
67
  if: ${{ github.ref == 'refs/heads/main' && github.sha == inputs.candidate_sha }}
50
68
  needs: prepare
51
- runs-on: ubuntu-latest
69
+ runs-on: ubuntu-24.04
52
70
  environment: release
53
71
  permissions:
54
72
  contents: write
55
73
  id-token: write
56
74
  steps:
57
- - uses: actions/checkout@v4
75
+ - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
58
76
  with:
59
77
  persist-credentials: false
60
- - uses: actions/setup-node@v4
78
+ - id: setup-node
79
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
61
80
  with:
62
81
  node-version: "22.22.2"
63
- - uses: oven-sh/setup-bun@v2
82
+ - id: setup-bun
83
+ uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
64
84
  with:
65
85
  bun-version: "1.3.14"
66
- - run: bun add --global npm@11.5.1
86
+ - id: release-tools
87
+ name: Bind exact release tool paths
88
+ env:
89
+ SETUP_BUN_PATH: ${{ steps.setup-bun.outputs.bun-path }}
90
+ run: |-
91
+ node_path="$(type -P node)"
92
+ bun_path="$(type -P bun)"
93
+ [[ "$node_path" = /* && "$bun_path" = /* ]]
94
+ [[ "$("$node_path" --version)" == v22.22.2 ]]
95
+ [[ "$("$bun_path" --version)" == 1.3.14 ]]
96
+ [[ "$(realpath "$bun_path")" == "$(realpath "$SETUP_BUN_PATH")" ]]
97
+ echo "node-bin=$node_path" >> "$GITHUB_OUTPUT"
98
+ echo "bun-bin=$bun_path" >> "$GITHUB_OUTPUT"
99
+ - run: bun add --global npm@11.11.0
67
100
  - id: publish
68
- uses: mannyc2/ts-release/apps/ts-release-action@v0.2.2
101
+ uses: mannyc2/ts-release/apps/ts-release-action@v0.3.0
69
102
  env:
70
103
  GITHUB_TOKEN: ${{ github.token }}
104
+ TS_RELEASE_NODE_BIN: ${{ steps.release-tools.outputs.node-bin }}
105
+ TS_RELEASE_BUN_BIN: ${{ steps.release-tools.outputs.bun-bin }}
71
106
  with:
72
107
  command: publish
73
108
  prepared: ${{ needs.prepare.outputs.prepared-ref }}
74
109
  - name: Upload redacted publication report
75
110
  if: ${{ always() && steps.publish.outputs.report-ref != '' }}
76
- uses: actions/upload-artifact@v4
111
+ uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
77
112
  with:
78
113
  name: ts-release-publish-report-${{ github.run_attempt }}
79
114
  path: ${{ steps.publish.outputs.report-ref }}