instruction: How to troubleshoot common circleci CI/CD issues
output: First Light Fusion CircleCI-enabled iteration accelerates energy research The ability to fail fast keeps productivity high at First Light Fusion At First Light Fusion, a UK-based fusion energy company, Jonathan Shimwell, Lead Scientist and a highly regarded expert in designing and perfecting self-sufficient fusion reactors, saw value in applying CI/CD to the complex world of fusion energy reactor design. “I am keen to automate as much of the process as possible,” says Shimwell. He starts the process of designing the fusion reactor by creating CAD geometries, which in the past was largely manual and done with a CAD GUI that can be a bottleneck in a rapid design cycle. Shimwell saw the design and testing process as more akin to a software programming exercise – one that needed CI/CD solutions in order to swiftly test code, refine designs, and complete reactor projects. “It normally takes a neutronics analyst days to make these assessments, and the results are often challenging to reproduce due to manual processes involved in the traditional workflow. Open-source software such as OpenMC, DAGMC, and the Paramak allow us to carry out neutronics analysis in an automated, reproducible, and parameter-driven manner”. “The parameter space that we have to explore for the reactor design is quite vast and therefore manual processes tend to become a bottleneck in the exploration,” Shimwell adds. “We explore the multiple dimensional parameter space in an efficient, selective manner to reduce the computational time required. Naturally, it is critical that the automated design process is well tested as removing the human from the loop can result in fewer checks during the process.” “ I can use Insights from CircleCI to see all of the stages a test went through.” Jonathan Shimwell | Lead Scientist at First Light Fusion Testing on the fly Once Shimwell decided to apply CI/CD to his design workflows, he tested the free versions of CircleCI and Travis CI. “The overhead of getting CircleCI up and running was just so much easier – I was up running tests in much less time,” he says. “CircleCI got me the answers much faster.” Using CircleCI, Shimwell finds it easy to test different parameters in order to find designs that optimize reactors for producing more energy. “I can change the lithium enrichment if I want to,” says Shimwell, referring to testing the lithium needed for tritium production within a reactor. “On the fly, I can test a neutronic simulation. It helps us determine if our reactor design is viable.” If a test fails, Shimwell can obtain clues to the problem, even when he himself can’t identify the issue. “CircleCI makes it very easy to do SSH debugging on failed builds,” he says. “I can login to the CI runners and investigate the tests in the docker environment to figure out why the tests failed.” Since Shimwell wants to avoid vendor lock-in, he also likes the ability to move his codebase to a different version control platform if needed. Accelerating code confidence Perhaps the most valuable benefit of using CircleCI, Shimwell says, is that it accelerates time to fail. “I can use Insights from CircleCI to see all of the stages a test went through,” he says. “Now, I’m able to fail faster, which keeps my productivity higher.” The testing process also helps Shimwell and First Light Fusion elevate the credibility of early designs. “Using CircleCI has improved my uptake among the neutronics community,” Shimwell says. “Once users see the tests are passing they have greater confidence to try out our code.” Industry Software Previous CI/CD None Company size Startup Region EMEA Languages Python C++ Deploys to AWS Google Cloud Platform (GCP) VCS provider GitHub