-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Set up Commitizen, CircleCI, and semantic-release
#50
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This adds a CircleCI config file based on the same config I use for my own website. It makes it easy to have multiple steps running in parallel, such as running tests and coverage reports.
Forcing contributors to use Commitizen to format their commit messages will make our lives much simpler, especially once we've added `semantic-release`.
Add `semantic-release` to the repo and the build pipeline. This will handle automatically publishing to npm based on commit messages. #13
The Roll For Guild Node container doesn't include `git`, which is required by semantic-release. #13
I got a bunch of permission errors last time I tried to build in ~/app. I'm pretty sure building in the default directory should work just as well.
I've removed containers from tthe config entirely because I don't think we need them. Hopefully this will fix the build. 🤷🏻♂️
Switching back to container because I have no idea how to fix the errors that came up without them. Additionally, I'm changing the working directory to `~/tmp` to see if that works better than the `~/app` folder.
I think the issue was that the app was being built into the root user's home directory rather than the `circleci` user's home directory. 🤞
I finally figured it out. Restoring the cache was trying to restore the cache from an older build that used a different image in which the root user was the one doing all the tasks. I'm pushing a build that doesn't restore the cache, then I'll add those steps back in after the next build.
By removing strict host key checking for Github, we shouldn't run into the issue where host authenticity verification stalls the deployment.
Repository cloning in the deploy step was 100% unnecessary.
Add `commitlint` to enforce proper formatting for all commit messages #13
Thank you soooo much 🎉 I'll do it 👍 I already have an account of npm 😆 Next, I will sign up for CircleCI ✏️ |
BcRikko
approved these changes
Dec 4, 2018
Thanks 🙇 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
I've added several bits of infrastructure to make maintaining the project easier. These improvements include:
semantic-release
for ensuring unromantic, unsentimental version changes with releasesOther requirements
For all of this to work, @BcRikko will need to cover several steps to get everything working.
Required accounts
Setup
develop
semantic-release-cli
to connect to your Github, npm, and CircleCI accounts to set up all of the necessary tokens and environment variables:develop
, push it to the repo, and verify that it causes the build to run in CircleCIcheckout
,install-dependencies
,lint
, andbuild
steps successfullyFinal notes
If the Setup tasks all worked without issue, then we're good! Everything should be ready to rock. The next step will be to change the destination of this PR from
master
todevelop
.Finally, to create our first release to npm after we've merged this PR, we'll want to perform the following steps:
version
inpackage.json
to1.0.0
develop
with afeature
type commitdevelop
intomaster
This should cause the CI to run through the full gamut of steps, ultimately creating our first release to npm.