name: create_release description: Creates a new React Native release inputs: version: description: "The version of React Native we want to release. For example 0.75.0-rc.0" required: true is-latest-on-npm: description: "Whether we want to tag this release as latest on NPM" required: true default: "false" dry-run: description: "Whether the job should be executed in dry-run mode or not" default: "true" runs: using: composite steps: - name: Setup node.js uses: ./.github/actions/setup-node - name: Yarn install uses: ./.github/actions/yarn-install - name: Configure Git shell: bash run: | git config --local user.email "bot@reactnative.dev" git config --local user.name "React Native Bot" - name: Creating release commit shell: bash run: | node scripts/releases/create-release-commit.js \ --reactNativeVersion "${{ inputs.version }}" \ --tagAsLatestRelease "${{ inputs.is-latest-on-npm }}" \ --dryRun "${{ inputs.dry-run }}" GIT_PAGER=cat git show HEAD - name: Update "latest" tag if needed shell: bash if: ${{ inputs.is-latest-on-npm == 'true' }} run: | git tag -d "latest" git push origin :latest git tag -a "latest" -m "latest" - name: Pushing release commit shell: bash if: ${{ inputs.dry-run == 'false' }} run: | CURR_BRANCH="$(git branch --show-current)" git push origin "$CURR_BRANCH" --follow-tags