mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/45544 ## This diff now does 5 things: 1. removes the old way we used `actions/setup-node` to manage the cache itself. 2. it creates a new `update-node-modules-cache` workflow, which is the only job that will update the node modules cache 3. it create a `yarn-install-with-cache` action that should be used install of directly calling `yarn install --non-interactive`. This will load a cache against a hash of `package.json`. 4. updated the cache reaper to aggressively remove everything but the latest `npm-{{ hash('package.json') }}`. 5. removed a `cache-setup`, which couldn't be used (we're using artefacts now). ## Why are we doing this: The various `node-cache-` keys for platforms and on various branches accounts for a very large proportion of the cache (10-20%). We don't frequently change these dependencies, and even when we do running `yarn install` after loading the cache will resolve any issues. Limiting the cache to `main` and aggressively pruning older cache entries will clean up a lot of "small win" caching. Changelog: [Internal] Reviewed By: cortinico Differential Revision: D59917944 fbshipit-source-id: 4be6f1959e8fde642a4f208f7d19aceba2c3262f
45 lines
1.4 KiB
YAML
45 lines
1.4 KiB
YAML
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: Yarn install
|
|
uses: ./.github/actions/yarn-install-with-cache
|
|
- 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.tag == 'latest' }}
|
|
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
|