aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorST-DDT <[email protected]>2024-07-11 19:51:58 +0200
committerGitHub <[email protected]>2024-07-11 19:51:58 +0200
commit1468f1f26e49ff168fb25e8856072c63d6f1ca96 (patch)
tree91c238edf1d6b614a62a9528e6911d0d5e46f195 /.github/workflows
parent43dc7d8e74f317aa94b190cc2a7e5a1b863f04c7 (diff)
downloadfaker-1468f1f26e49ff168fb25e8856072c63d6f1ca96.tar.xz
faker-1468f1f26e49ff168fb25e8856072c63d6f1ca96.zip
infra(release): publish release (#2991)
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/publish-release.yml66
1 files changed, 66 insertions, 0 deletions
diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml
new file mode 100644
index 00000000..29379a96
--- /dev/null
+++ b/.github/workflows/publish-release.yml
@@ -0,0 +1,66 @@
+name: Publish Release
+
+on:
+ release:
+ types: [published]
+
+permissions:
+ contents: write # to push the release branch
+
+jobs:
+ publish:
+ name: Publish Release
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ with:
+ fetch-depth: 0 # we want to push the release branch later
+
+ - name: Install pnpm
+ uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0
+
+ - name: Set node version to 22
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
+ with:
+ node-version: 22
+ cache: 'pnpm'
+
+ - name: Install deps
+ run: pnpm install --frozen-lockfile
+ env:
+ CYPRESS_INSTALL_BINARY: 0
+
+ - name: Gather release information
+ run: |
+ RELEASE_VERSION=$(jq -r '.version' package.json)
+ echo "RELEASE_VERSION=$RELEASE_VERSION" >> $GITHUB_ENV
+ RELEASE_MAJOR=$(jq -r '.version | split(".")[0]' package.json)
+ echo "RELEASE_MAJOR=$RELEASE_MAJOR" >> $GITHUB_ENV
+ DIST_TAG=$(jq -r '.version | if split("-")[1] == null then "latest" else "next" end' package.json)
+ echo "DIST_TAG=$DIST_TAG" >> $GITHUB_ENV
+
+ - name: Prepare README
+ run: |
+ echo -e "$(grep -P '## 📙 API Documentation' -B 10000 README.md)\n\n- [Getting Started Guide](https://fakerjs.dev/guide/)\n- [API Reference](https://fakerjs.dev/api/)\n\n$(grep -P '## 🚀 Features' -A 10000 README.md)" > README.md
+ sed -i "s|/fakerjs.dev/|/v$RELEASE_MAJOR.fakerjs.dev/|g" README.md
+
+ - name: Set publishing config
+ run: pnpm config set '//registry.npmjs.org/:_authToken' "${NPM_AUTH_TOKEN}"
+ env:
+ NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
+
+ - name: Publish
+ run: |
+ pnpm publish --tag next --no-git-checks
+ env:
+ CYPRESS_INSTALL_BINARY: 0
+
+ - name: Set latest/next dist-tag
+ run: |
+ pnpm dist-tag add @faker-js/faker@$RELEASE_VERSION $DIST_TAG
+
+ - name: Push to Release Branch
+ run: |
+ git push origin $GITHUB_REF_NAME:v$RELEASE_MAJOR