github.com/linchen2chris/hugo@v0.0.0-20230307053224-cec209389705/.circleci/config.yml (about) 1 parameters: 2 3 # v2: 11m. 4 defaults: &defaults 5 resource_class: large 6 docker: 7 - image: bepsays/ci-hugoreleaser:1.22000.20100 8 environment: &buildenv 9 GOMODCACHE: /root/project/gomodcache 10 version: 2 11 jobs: 12 prepare_release: 13 <<: *defaults 14 environment: &buildenv 15 GOMODCACHE: /root/project/gomodcache 16 steps: 17 - &remote-docker 18 setup_remote_docker: 19 version: 20.10.14 20 - checkout: 21 path: hugo 22 - &git-config 23 run: 24 command: | 25 git config --global user.email "bjorn.erik.pedersen+hugoreleaser@gmail.com" 26 git config --global user.name "hugoreleaser" 27 - run: 28 command: | 29 cd hugo 30 go mod download 31 go run -tags release main.go release --step 1 32 - save_cache: 33 key: git-sha-{{ .Revision }} 34 paths: 35 - hugo 36 - gomodcache 37 build_container1: 38 <<: [*defaults] 39 environment: 40 <<: [*buildenv] 41 steps: 42 - &restore-cache 43 restore_cache: 44 key: git-sha-{{ .Revision }} 45 - run: 46 no_output_timeout: 20m 47 command: | 48 mkdir -p /tmp/files/dist1 49 cd hugo 50 hugoreleaser build -paths "builds/container1/**" -workers 3 -dist /tmp/files/dist1 -chunks $CIRCLE_NODE_TOTAL -chunk-index $CIRCLE_NODE_INDEX 51 - &persist-workspace 52 persist_to_workspace: 53 root: /tmp/files 54 paths: 55 - dist1 56 - dist2 57 parallelism: 7 58 build_container2: 59 <<: [*defaults] 60 environment: 61 <<: [*buildenv] 62 docker: 63 - image: bepsays/ci-hugoreleaser-linux-arm64:1.22000.20100 64 steps: 65 - *restore-cache 66 - &attach-workspace 67 attach_workspace: 68 at: /tmp/workspace 69 - run: 70 command: | 71 mkdir -p /tmp/files/dist2 72 cd hugo 73 hugoreleaser build -paths "builds/container2/**" -workers 1 -dist /tmp/files/dist2 74 - *persist-workspace 75 archive_and_release: 76 <<: [*defaults] 77 environment: 78 <<: [*buildenv] 79 steps: 80 - *restore-cache 81 - *attach-workspace 82 - *git-config 83 - run: 84 command: | 85 cp -a /tmp/workspace/dist1/. ./hugo/dist 86 cp -a /tmp/workspace/dist2/. ./hugo/dist 87 - run: 88 command: | 89 cd hugo 90 hugoreleaser archive 91 hugoreleaser release 92 go run -tags release main.go release --step 2 93 workflows: 94 version: 2 95 release: 96 jobs: 97 - prepare_release: 98 filters: 99 branches: 100 only: /release-.*/ 101 - build_container1: 102 requires: 103 - prepare_release 104 - build_container2: 105 requires: 106 - prepare_release 107 - archive_and_release: 108 context: org-global 109 requires: 110 - build_container1 111 - build_container2 112 113 114