aboutsummaryrefslogtreecommitdiffhomepage
path: root/.circleci/config.yml
diff options
context:
space:
mode:
Diffstat (limited to '.circleci/config.yml')
-rw-r--r--.circleci/config.yml132
1 files changed, 21 insertions, 111 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 0ff955936..588d3d894 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -1,117 +1,27 @@
-parameters:
-
-# v2: 11m.
-defaults: &defaults
- resource_class: large
- docker:
- - image: bepsays/ci-hugoreleaser:1.22300.20000
-environment: &buildenv
- GOMODCACHE: /root/project/gomodcache
-version: 2
+version: 2.1
+setup: true
+orbs:
+ continuation: circleci/continuation@1
jobs:
- prepare_release:
- <<: *defaults
- environment: &buildenv
- GOMODCACHE: /root/project/gomodcache
- steps:
- - &remote-docker
- setup_remote_docker:
- version: 20.10.14
- - checkout:
- path: hugo
- - &git-config
- run:
- command: |
- git config --global user.email "[email protected]"
- git config --global user.name "hugoreleaser"
- - run:
- command: |
- cd hugo
- go mod download
- go run -tags release main.go release --step 1
- - save_cache:
- key: git-sha-{{ .Revision }}
- paths:
- - hugo
- - gomodcache
- build_container1:
- <<: [*defaults]
- environment:
- <<: [*buildenv]
- steps:
- - &restore-cache
- restore_cache:
- key: git-sha-{{ .Revision }}
- - run:
- no_output_timeout: 20m
- command: |
- mkdir -p /tmp/files/dist1
- cd hugo
- hugoreleaser build -paths "builds/container1/**" -workers 3 -dist /tmp/files/dist1 -chunks $CIRCLE_NODE_TOTAL -chunk-index $CIRCLE_NODE_INDEX
- - &persist-workspace
- persist_to_workspace:
- root: /tmp/files
- paths:
- - dist1
- - dist2
- parallelism: 7
- build_container2:
- <<: [*defaults]
- environment:
- <<: [*buildenv]
+ setup:
docker:
- - image: bepsays/ci-hugoreleaser-linux-arm64:1.22300.20000
+ - image: cimg/go:1.21
steps:
- - *restore-cache
- - &attach-workspace
- attach_workspace:
- at: /tmp/workspace
+ - checkout
- run:
command: |
- mkdir -p /tmp/files/dist2
- cd hugo
- hugoreleaser build -paths "builds/container2/**" -workers 1 -dist /tmp/files/dist2
- - *persist-workspace
- archive_and_release:
- <<: [*defaults]
- environment:
- <<: [*buildenv]
- steps:
- - *restore-cache
- - *attach-workspace
- - *git-config
- - run:
- name: Add github.com to known hosts
- command: ssh-keyscan github.com >> ~/.ssh/known_hosts
- - run:
- command: |
- cp -a /tmp/workspace/dist1/. ./hugo/dist
- cp -a /tmp/workspace/dist2/. ./hugo/dist
- - run:
- command: |
- cd hugo
- hugoreleaser archive
- hugoreleaser release
- go run -tags release main.go release --step 2
+ export SKIP=$(git log -n 1 $CIRCLE_SHA1 --pretty=%B | grep -q "NOCIRCLECI" && echo "true" || echo "false")
+ echo "{\"skip\": $SKIP}" >> set-up-params.json
+ - continuation/continue:
+ parameters: set-up-params.json
+ configuration_path: .circleci/build.yml
+
workflows:
- version: 2
- release:
- jobs:
- - prepare_release:
- filters:
- branches:
- only: /release-.*/
- - build_container1:
- requires:
- - prepare_release
- - build_container2:
- requires:
- - prepare_release
- - archive_and_release:
- context: org-global
- requires:
- - build_container1
- - build_container2
-
-
-
+ configure:
+ when:
+ and:
+ - matches:
+ pattern: "^release.+"
+ value: << pipeline.git.branch >>
+ jobs:
+ - setup