mirror of
https://github.com/status-im/metro.git
synced 2025-02-11 02:27:17 +00:00
Summary: <!-- Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. The two fields below are mandatory. --> **Summary** As we discussed on Discord channel on Nov 6th, this PR adds appropriate hooks to CircleCI in order to deploy successful builds (on master branch) to `npm` using tag that has been assigned to the latest commit. This is how deployment process should look like: Once you want to deploy, push a new tag to master. That will trigger a deployment script on CI. [According to CircleCI documentation](https://circleci.com/docs/1.0/npm-continuous-deployment/), the best way is to use ``` npm version x.y.z ``` in order to update package version and create git tag. Then, you can push your code using ``` git push --follow-tags ``` After successful build, a new version will be released. <!-- Explain the **motivation** for making this change. What existing problem does the pull request solve? --> **Test plan** Not sure if there is a way to properly test it before the merge. I think the only way is to merge it in, setup NPM_TOKEN env variable and try to create a new version by running build on CI. Please, let me know if you see alternative scenarios. <!-- Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes UI. --> Closes https://github.com/facebook/metro-bundler/pull/88 Reviewed By: BYK, cpojer Differential Revision: D6332813 Pulled By: rafeca fbshipit-source-id: 1902afa8eb77a59e813cefc8e7f650a0106edfef
83 lines
2.0 KiB
YAML
83 lines
2.0 KiB
YAML
aliases:
|
|
- &restore-cache
|
|
keys:
|
|
- dependencies-{{ .Branch }}-{{ checksum "package.json" }}
|
|
# Fallback in case checksum fails
|
|
- dependencies-{{ .Branch }}-
|
|
|
|
- &save-cache
|
|
paths:
|
|
- node_modules
|
|
key: dependencies-{{ .Branch }}-{{ checksum "package.json" }}
|
|
|
|
- &deploy
|
|
working_directory: packages/metro-bundler
|
|
steps:
|
|
- run: npm run prepare-release
|
|
- run: npm publish
|
|
- run: npm run cleanup-release
|
|
|
|
version: 2
|
|
jobs:
|
|
test-node-9:
|
|
working_directory: ~/metro-bundler/packager/metro-bundler
|
|
docker:
|
|
- image: circleci/node:9
|
|
steps:
|
|
- checkout
|
|
- restore-cache: *restore-cache
|
|
- run: yarn --no-progress
|
|
- save-cache: *save-cache
|
|
- run: yarn run test-ci
|
|
|
|
test-node-8:
|
|
working_directory: ~/metro-bundler/packager/metro-bundler
|
|
docker:
|
|
- image: circleci/node:8
|
|
steps:
|
|
- checkout
|
|
- restore-cache: *restore-cache
|
|
- run: yarn --no-progress
|
|
- save-cache: *save-cache
|
|
- run: yarn run test-ci
|
|
|
|
test-node-6:
|
|
working_directory: ~/metro-bundler/packager/metro-bundler
|
|
docker:
|
|
- image: circleci/node:6
|
|
steps:
|
|
- checkout
|
|
- restore-cache: *restore-cache
|
|
- run: sudo npm i -g yarn@^1.2.1
|
|
- run: yarn --no-progress
|
|
- save-cache: *save-cache
|
|
- run: yarn run test-ci
|
|
|
|
deploy:
|
|
working_directory: ~/metro-bundler/packager/metro-bundler
|
|
docker:
|
|
- image: circleci/node:8
|
|
steps:
|
|
- checkout
|
|
- restore-cache: *restore-cache
|
|
- run:
|
|
working_directory: packages/metro-bundler
|
|
command: yarn --no-progress
|
|
- save-cache: *save-cache
|
|
- deploy: *deploy
|
|
|
|
# Workflows enables us to run multiple jobs in parallel
|
|
workflows:
|
|
version: 2
|
|
build-and-deploy:
|
|
jobs:
|
|
- test-node-9
|
|
- test-node-8
|
|
- test-node-6
|
|
- deploy:
|
|
filters:
|
|
branches:
|
|
ignore: /.*/
|
|
tags:
|
|
only: /v[0-9]+(\.[0-9]+)*/
|