-
Notifications
You must be signed in to change notification settings - Fork 25k
Description
Is this a bug report?
Bug
Have you read the Contributing Guidelines?
Yes
Environment
Not related, issue is about CI.
Steps to Reproduce
Checkout stable branch of master and try releasing.
Expected Behavior
CircleCI builds android, js and website in parallel. After all tasks have finished, deploy_website and deploy_npm jobs are run.
Actual Behavior
CircleCI builds android, js and website not as jobs, but as separate workflows. That results in those 3 being unaware of each other. That makes it hard to run something as a result of successful test. A good example is missing npm publish. I tried adding it and couldn't find the right place. There's no hook to wait for all workflows to finish with success. You can't run it on deploy_website job because android tests can fail in the meantime (that did happen to me during my tests).
Also, as in this example (https://circleci.com/gh/facebook/react-native/22571) website is not deployed despite all conditions being met.
How can this be fixed
We can add deploy_npm job after deploy_website and mark it as the one that requires manual approval. That means person releasing new version (me in particular) would have to double check that all tests are green and hit the deploy.
Alternatively, npm publish permissions has to be given to someone who will be running this command locally.