beb0bca5fe
Uploads all the folders inside `./assets` folder to a new R2 bucket called `cdn`. Uses the package version as the prefix, so that we can host multiple versions of the assets. ### Change Type <!-- ❗ Please select a 'Scope' label ❗️ --> - [ ] `sdk` — Changes the tldraw SDK - [ ] `dotcom` — Changes the tldraw.com web app - [ ] `docs` — Changes to the documentation, examples, or templates. - [ ] `vs code` — Changes to the vscode plugin - [x] `internal` — Does not affect user-facing stuff <!-- ❗ Please select a 'Type' label ❗️ --> - [ ] `bugfix` — Bug fix - [ ] `feature` — New feature - [ ] `improvement` — Improving existing features - [ ] `chore` — Updating dependencies, other boring stuff - [ ] `galaxy brain` — Architectural changes - [ ] `tests` — Changes to any test code - [x] `tools` — Changes to infrastructure, CI, internal scripts, debugging tools, etc. - [ ] `dunno` — I don't know ### Test Plan 1. Add a step-by-step description of how to test your PR here. 2. - [ ] Unit Tests - [ ] End to end tests ### Release Notes - Upload our static assets (fonts, icons, embed-icons, translations) to a R2 bucket so that we can move away from using unpkg and start using our own cdn.
28 lines
910 B
TypeScript
28 lines
910 B
TypeScript
import { exec } from './lib/exec'
|
|
import { getLatestVersion, publish, setAllVersions } from './lib/publishing'
|
|
import { uploadStaticAssets } from './upload-static-assets'
|
|
|
|
async function main() {
|
|
const sha = (await exec('git', ['rev-parse', 'HEAD'])).trim().slice(0, 12)
|
|
|
|
async function setCanaryVersions() {
|
|
const latestVersion = await getLatestVersion()
|
|
|
|
const nextVersion = latestVersion.prerelease.length
|
|
? // if the package is in prerelease mode, we want to release a canary for the current version rather than bumping
|
|
latestVersion
|
|
: latestVersion?.inc('minor')
|
|
const versionString = `${nextVersion.major}.${nextVersion.minor}.${nextVersion.patch}-canary.${sha}`
|
|
|
|
await setAllVersions(versionString)
|
|
return versionString
|
|
}
|
|
|
|
// module was called directly
|
|
|
|
const versionString = await setCanaryVersions()
|
|
await uploadStaticAssets(versionString)
|
|
await publish('canary')
|
|
}
|
|
|
|
main()
|