diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml new file mode 100644 index 0000000..b39adf5 --- /dev/null +++ b/.github/workflows/publish-release.yml @@ -0,0 +1,57 @@ +name: Publish release to npm +on: + workflow_dispatch: + inputs: + release-type: + description: Type of release to publish. + type: choice + options: + - stable + - nightly + - beta + - rc + default: stable + version: + description: Specific version to publish (usually inferred from x.y-stable branch name). + type: string + required: false + default: '' + dry-run: + description: Whether to perform a dry run of the publish. + type: boolean + default: true + +jobs: + npm-build: + if: github.repository == 'software-mansion-labs/react-native-streamdown' + runs-on: ubuntu-latest + + permissions: + contents: write + id-token: write # for OIDC + + concurrency: + group: publish-${{ github.ref }} + cancel-in-progress: false + + steps: + - name: Check out + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - name: Setup Node + uses: actions/setup-node@v6 + with: + node-version: 24 + cache: 'yarn' + registry-url: https://registry.npmjs.org/ + + - name: Publish release + uses: software-mansion-labs/npm-package-publish@main + with: + package-name: 'react-native-streamdown' + package-json-path: 'package.json' + install-dependencies-command: 'YARN_ENABLE_IMMUTABLE_INSTALLS=false yarn install' + release-type: ${{ inputs.release-type }} + version: ${{ inputs.version }} + dry-run: ${{ inputs.dry-run }} +