diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..dcd0819 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,44 @@ +# Use the latest 2.1 version of CircleCI pipeline process engine. +# See: https://circleci.com/docs/2.0/configuration-reference +version: 2.1 + +# Define a job to be invoked later in a workflow. +# See: https://circleci.com/docs/2.0/configuration-reference/#jobs +jobs: + build: + # Specify the execution environment. You can specify an image from Dockerhub or use one of our Convenience Images from CircleCI's Developer Hub. + # See: https://circleci.com/docs/2.0/configuration-reference/#docker-machine-macos-windows-executor + machine: + image: ubuntu-2204:2022.07.1 + resource_class: large + # Add steps to the job + # See: https://circleci.com/docs/2.0/configuration-reference/#steps + steps: + - checkout + - run: + name: Print Go environment + command: "go env" + - restore_cache: # restores saved cache if no changes are detected since last run + keys: + - go-mod-v6-{{ checksum "go.sum" }} + - run: + name: Install Dependencies + command: sudo apt-get install libzmq3-dev + - run: + name: Build vigilante + command: make build + - save_cache: + key: go-mod-v6-{{ checksum "go.sum" }} + paths: + - "/home/circleci/.go_workspace/pkg/mod" + - run: + name: Run tests + command: | + make test + +# Invoke jobs via workflows +# See: https://circleci.com/docs/2.0/configuration-reference/#workflows +workflows: + build-and-test: + jobs: + - build