In the previous installment(linkify), we saw how Docker images add power and customization to the build process.
In this installment we'll show you how to amplify that power by using the CircleCI 2.0 "workflows" feature.
| #!/bin/sh | |
| # Reproduce the per-commit table in comment.md by running repro-715.sh against | |
| # four builds of denote: upstream, each commit of PR #715 alone, and both. | |
| # | |
| # sh matrix.sh /path/to/denote-repo | |
| # | |
| # Each build is a throwaway git worktree at the pre-PR upstream tip with the | |
| # relevant denote.el hunks applied. Only denote.el is applied, not the test | |
| # files, so the two commits can be taken in isolation without conflicting. | |
| # Every worktree is removed on exit, so nothing is left registered in the repo. |
| ubuntu@ip-172-31-30-143:~$ sudo docker logs contexts-service | |
| Retreiving vault root token from url "http://:8201/client-token" ... | |
| curl: (6) Could not resolve host: | |
| ... failed to retrieve root token. | |
| Retrying 9 more times ... | |
| curl: (6) Could not resolve host: | |
| ... failed to retrieve root token. | |
| Retrying 8 more times ... | |
| curl: (6) Could not resolve host: | |
| ... failed to retrieve root token. |
| (ns workflows-conductor.le-workspace-join | |
| (:require [clojure.set :refer [difference | |
| intersection | |
| union]])) | |
| (defn inner-join | |
| [left-keys right-keys] | |
| (intersection (set left-keys) (set right-keys))) | |
| (defn outer-join |
| (comment ; Fun with transducers, v2 | |
| ;; Still haven't found a brief + approachable overview of Clojure 1.7's new | |
| ;; transducers in the particular way I would have preferred myself - so here goes: | |
| ;;;; Definitions | |
| ;; Looking at the `reduce` docstring, we can define a 'reducing-fn' as: | |
| (fn reducing-fn ([]) ([accumulation next-input])) -> new-accumulation | |
| ;; (The `[]` arity is actually optional; it's only used when calling | |
| ;; `reduce` w/o an init-accumulator). |
| ;;; `filter' **MAY** introduce chunkedness, therefore should only be used with | |
| ;;; pure functions. | |
| (defn integers-from [n] | |
| (lazy-seq (cons n (do (print \.) (integers-from (inc n)))))) | |
| ;;; ⇒ #'user/integers-from | |
| (defn chunked-test [xs] | |
| (let [times-called (atom 0) |
| #!/usr/bin/env bash -x | |
| function getUsage() | |
| { | |
| echo $(ps -A -o "%cpu command" | grep com.docker.hyperkit | grep -v grep | head -1 | cut -f1 -d.) | |
| } | |
| while [ $(getUsage) -gt 50 ]; do | |
| sleep 3 | |
| done |
| version: 2 | |
| jobs: | |
| build: | |
| docker: | |
| - image: finanzcheck/docker-node-java | |
| working_directory: ~/starfish | |
| steps: | |
| - checkout | |
| - run: | |
| name: Install Dependencies |
| diff --git a/k8s/production/workflows-conductor-deployment.yaml b/k8s/production/workflows-conductor-deployment.yaml | |
| index 1440a18..305c0d3 100644 | |
| --- a/k8s/production/workflows-conductor-deployment.yaml | |
| +++ b/k8s/production/workflows-conductor-deployment.yaml | |
| @@ -83,6 +83,10 @@ spec: | |
| # circleci/circle as a library env-vars | |
| - name: CIRCLE_ENV | |
| value: "production" | |
| + - name: NREPL_PORT | |
| + value: "6005" |
| diff -u --label /Users/lewang/src/circleci/workflows-conductor/k8s/production/workflows-conductor-deployment.yaml --label \#\<buffer\ workflows-conductor-deployment.yaml\<production\>\> /Users/lewang/src/circleci/workflows-conductor/k8s/production/workflows-conductor-deployment.yaml /var/folders/1j/g0fjg7qs4gd4xxhrdnk73n200000gn/T/buffer-content-83717g9g | |
| --- /Users/lewang/src/circleci/workflows-conductor/k8s/production/workflows-conductor-deployment.yaml | |
| +++ #<buffer workflows-conductor-deployment.yaml<production>> | |
| @@ -83,6 +83,8 @@ | |
| # circleci/circle as a library env-vars | |
| - name: CIRCLE_ENV | |
| value: "production" | |
| + - name: NREPL_PORT | |
| + value: 6005 | |
| - name: CIRCLE_SECRETS_URI |