-
Notifications
You must be signed in to change notification settings - Fork 24.8k
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.