Circle CI example project
The Circle CI language guide for Clojure provides an example project that is managed by the Leiningen build automation tool and based on the Luminus micro-framework template.
The project runs on the Undertow web server (wrapped by immutant), using ring to manage web requests and responses, with compojure for server-side routing. The application uses mount to manage the application lifecycle.
Fork the CircleCI-Public/circleci-demo-clojure-luminus project on your GitHub or GitLab account or organisation.
Go to the CircleCI dashboard and login. Select the GitHub / GitLab organisation you want to work with, this will list the repositories in that organisation.
Find the project in the list of repositories for that organisation
Click on the "Set Up Project" button and select the Clojure configuration from the drop-down menu.
This template seems to be older than the sample configuration on the Clojure language page. Copy the sample configuration and paste it into the editor. Then press Add Config to automatically add it to your code repository.
This will start a build and show the pipelines dashboard, with the project running the tasks defined in the configuration
Oh, it failed...
Clicking on the FAILED button shows details of that particular pipeline. This opens the build report for the pipeline.
The build report shows all the steps that have passed and the details of the step which has failed, in this case lein do test, uberjar
Failing on Java 11
The example project only seems to run on Java 8. Running the project locally with either
lein run or
.circleci/config.yml file in your fork and change the images used to
Cannot edit configuration via dashboard
Apart from the initial creation of the configuration, its not possible to edit the configuration via the dashboard.
Then commit the change to the code in the code repository. Another build will run automatically.
The dashboard shows the second build of this pipeline, showing the new commit just pushed
Success. Now development can continue knowing the configuration of the pipeline works.