diff --git a/.changeset/config.json b/.changeset/config.json index 75be7a6..2eae7a1 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -13,6 +13,10 @@ "version": false, "tag": false }, + "snapshot": { + "useCalculatedVersion": true, + "prereleaseTemplate": "{tag}.{datetime}" + }, "___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": { "onlyUpdatePeerDependentsWhenOutOfRange": true } diff --git a/.github/workflows/publish-snapshot.yml b/.github/workflows/publish-snapshot.yml new file mode 100644 index 0000000..72c1620 --- /dev/null +++ b/.github/workflows/publish-snapshot.yml @@ -0,0 +1,38 @@ +name: Publish snapshot +on: + workflow_dispatch: +jobs: + build_packages: + name: "Build and publish" + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install + uses: ./.github/actions/install + + # Bumps versions in package.json (see https://github.com/changesets/changesets/blob/main/docs/snapshot-releases.md) + # The changes should not be committed to any branch: the "releases" are not part of the version history. + - name: Version packages + run: pnpm changeset version --snapshot dev + + # Note: must happen after versioning because the updated package.json files will be copied into dist/ + - name: Build packages + run: pnpm build-packages + + - name: Publish packages + run: | + echo "Published packages" >> publish.log + echo "==================" >> publish.log + echo "" >> publish.log + + # Stdout of publish contains the published package names and versions + pnpm publish -r --access public --tag dev --no-git-checks | tee -a publish.log + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + - name: List packages + run: + cat publish.log + \ No newline at end of file