48 lines
No EOL
2 KiB
YAML
48 lines
No EOL
2 KiB
YAML
# Use the latest 2.1 version of CircleCI pipeline process engine.
|
|
# See: https://circleci.com/docs/configuration-reference
|
|
|
|
# For a detailed guide to building and testing with Go, read the docs:
|
|
# https://circleci.com/docs/language-go/ for more details
|
|
version: 2.1
|
|
|
|
# Define a job to be invoked later in a workflow.
|
|
# See: https://circleci.com/docs/jobs-steps/#jobs-overview & https://circleci.com/docs/configuration-reference/#jobs
|
|
jobs:
|
|
build:
|
|
# Specify the execution environment. You can specify an image from Docker Hub or use one of our convenience images from CircleCI's Developer Hub.
|
|
# See: https://circleci.com/docs/executor-intro/ & https://circleci.com/docs/configuration-reference/#executor-job
|
|
docker:
|
|
# Specify the version you desire here
|
|
# See: https://circleci.com/developer/images/image/cimg/go
|
|
- image: cimg/go:1.24.2@sha256:cd027ede83e11c7b1002dfff3f4975fbf0124c5028df4c63da571c30db88fb3c
|
|
|
|
# Add steps to the job
|
|
# See: https://circleci.com/docs/jobs-steps/#steps-overview & https://circleci.com/docs/configuration-reference/#steps
|
|
steps:
|
|
# Checkout the code as the first step.
|
|
- checkout
|
|
- restore_cache:
|
|
keys:
|
|
- go-mod-v4-{{ checksum "go.sum" }}
|
|
- run:
|
|
name: Install Dependencies
|
|
command: go mod download
|
|
- save_cache:
|
|
key: go-mod-v4-{{ checksum "go.sum" }}
|
|
paths:
|
|
- "/go/pkg/mod"
|
|
- run:
|
|
name: Run tests
|
|
command: |
|
|
mkdir -p /tmp/test-reports
|
|
gotestsum --junitfile /tmp/test-reports/unit-tests.xml
|
|
- store_test_results:
|
|
path: /tmp/test-reports
|
|
|
|
# Orchestrate jobs using workflows
|
|
# See: https://circleci.com/docs/workflows/ & https://circleci.com/docs/configuration-reference/#workflows
|
|
workflows:
|
|
build-test: # This is the name of the workflow, feel free to change it to better match your workflow.
|
|
# Inside the workflow, you define the jobs you want to run.
|
|
jobs:
|
|
- build |