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.

Circle CI Dashboard - Select an organisation and its projects

Find the project in the list of repositories for that organisation

Circle CI Dashboard - Luminus project

Click on the "Set Up Project" button and select the Clojure configuration from the drop-down menu.

Circle CI Dashboard - Set Up Project on CircleCI using the example repository

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

Circle CI Dashboard - Luminus project

Oh, it failed...

Circle CI Dashboard - Luminus project build 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

Circle CI Dashboard - Luminus project build report

Failing on Java 11

The example project only seems to run on Java 8. Running the project locally with either lein run or lein test

Edit the .circleci/config.yml file in your fork and change the images used to openjdk-8-lein-2.9.3.

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.

Circle CI Dashboard - Luminus project running second build

The dashboard shows the second build of this pipeline, showing the new commit just pushed

Circle CI Dashboard - Luminus project second build successful

Success. Now development can continue knowing the configuration of the pipeline works.

results matching ""

    No results matching ""