diff options
Diffstat (limited to '.circleci/config.yml')
-rw-r--r-- | .circleci/config.yml | 132 |
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 |