Closed github-learning-lab[bot] closed 4 years ago
Great work enabling CI on your repository and running your first build!
Every time you push code, your CI service clones your repository to a virtual environment. It installs necessary dependencies, compiles your code, and runs tests. If everything goes well, the "build" is successful. Sometimes, your build will fail the test, giving you valuable feedback to diagnose the issue.
Now that the integration is enabled, you might have noticed that the build failed.
Our build failed because it was missing key information -- we currently have a configuration file in our project, but only a version is defined. A configuration file is necessary for our CI to look for tests to run. Once we update this file, we'll be able to generate a successful build.
Note: You may notice email notifications from the integration. To change the settings, see CircleCI's documentation on notifications.
On GitHub, let's update the configuration file to our project to generate a successful build. I already created a branch and committed the updates to the configuration file. Next, you'll need to open up a pull request.
base: master
and compare: initial-circle-config
.Sometimes I respond too fast for the page to update! If you perform an expected action and don't see a response, wait a few seconds and refresh the page for your next steps.
Welcome
In this repository, we'll be diving into the world of Continuous Integration. Continuous Integration, or CI, can benefit your projects and change how you work on GitHub. If you're new to Continuous Integration, you may be thinking, "What exactly is it, and do I need it in my project?"
What is CI? Why should you care?
CI can help you stick to your team’s quality standards by running tests and reporting the results on GitHub. CI tools run builds and tests, triggered by commits. The results post back to GitHub in the pull request. This reduces context switching for developers, and improves consistency for testing. The goal is fewer bugs in production and faster feedback while developing.
There are several CI providers that integrate with GitHub. You can find some examples in the GitHub Marketplace. With so many options, you can pick the best tool for the job.
The following diagram shows the relative percentage of the top 10 CI tools used with GitHub.com.
Our analysis also shows that many repositories use more than one CI service. This allows individuals within teams to use their favorites, instead of feeling stuck on one option.
The tools that will work best for your project depend on many factors, including:
Using CI and Learning Lab
In other courses, you may have noticed that some actions take me longer to respond to than others. In this course, many of the actions will be related to builds. Those builds sometimes take longer to build, up to several minutes. Don't be concerned if I take a few minutes to respond, or if I respond too quickly. Sometimes, I'll let you know what the build will say before it finishes! Please wait for the builds to finish before moving on to your next step.
Step 1: Enable Continuous Integration
Ready to see how CI can fit into your workflow? Let's install CircleCI, and start our very first CI build!
:keyboard: Activity: Enable CircleCI and run your first build
config.yml
file, as I'll add one for you in just a moment.Can't find your repository?
Make sure you select your username from the drop-down on the top left.I'll respond below for your next step