summaryrefslogtreecommitdiff
path: root/deps/irc-conduit/concourse
diff options
context:
space:
mode:
Diffstat (limited to 'deps/irc-conduit/concourse')
-rw-r--r--deps/irc-conduit/concourse/pipeline.yml121
1 files changed, 121 insertions, 0 deletions
diff --git a/deps/irc-conduit/concourse/pipeline.yml b/deps/irc-conduit/concourse/pipeline.yml
new file mode 100644
index 0000000..3298cb2
--- /dev/null
+++ b/deps/irc-conduit/concourse/pipeline.yml
@@ -0,0 +1,121 @@
+###############################################################################
+## Tasks
+
+x-generic-task: &generic-task
+ platform: linux
+ image_resource:
+ type: docker-image
+ source:
+ repository: haskell
+ inputs:
+ - name: source-git
+
+x-task-build-and-test: &task-build-and-test
+ <<: *generic-task
+ run:
+ dir: source-git
+ path: sh
+ args:
+ - -cxe
+ - |
+ export LANG=C.UTF-8
+ stack="stack --no-terminal"
+
+ if [ -f ../stackage-feed/item ]; then
+ apt-get update && apt-get install -y jq
+ resolver="$(jq -r .id < ../stackage-feed/item | cut -d/ -f4)"
+ $stack init --resolver="$resolver" --force
+ fi
+
+ $stack setup --install-ghc
+ $stack build
+
+###############################################################################
+## Pipeline
+
+resource_types:
+ - name: feed-resource
+ type: docker-image
+ source:
+ repository: registry.barrucadu.dev/feed-resource
+ username: registry
+ password: ((docker-registry-password))
+
+resources:
+ - name: stackage-feed
+ type: feed-resource
+ source:
+ uri: https://www.stackage.org/feed
+ - name: irc-conduit-git
+ type: git
+ source:
+ uri: https://github.com/barrucadu/irc-conduit.git
+ - name: irc-conduit-cabal-git
+ type: git
+ source:
+ uri: https://github.com/barrucadu/irc-conduit.git
+ paths:
+ - irc-conduit.cabal
+
+jobs:
+ - name: update-pipeline
+ plan:
+ - get: irc-conduit-git
+ trigger: true
+ - set_pipeline: irc-conduit
+ file: irc-conduit-git/concourse/pipeline.yml
+
+ - name: test-snapshot
+ plan:
+ - get: irc-conduit-git
+ trigger: true
+ - get: stackage-feed
+ trigger: true
+ - task: build-and-test
+ input_mapping:
+ source-git: irc-conduit-git
+ config:
+ <<: *task-build-and-test
+ inputs:
+ - name: stackage-feed
+ - name: source-git
+
+ - name: test
+ plan:
+ - get: irc-conduit-cabal-git
+ trigger: true
+ - task: build-and-test
+ input_mapping:
+ source-git: irc-conduit-cabal-git
+ config:
+ <<: *task-build-and-test
+
+ - name: release
+ plan:
+ - get: irc-conduit-cabal-git
+ trigger: true
+ passed:
+ - test
+ - task: release
+ input_mapping:
+ source-git: irc-conduit-cabal-git
+ config:
+ <<: *generic-task
+ params:
+ HACKAGE_USERNAME: barrucadu
+ HACKAGE_PASSWORD: ((hackage-password))
+ run:
+ dir: source-git
+ path: sh
+ args:
+ - -cxe
+ - |
+ ver=$(grep '^version:' irc-conduit.cabal | sed 's/^version: *//')
+
+ if curl -fs "http://hackage.haskell.org/package/irc-conduit-${ver}" >/dev/null; then
+ echo "version already exists on hackage" >&2
+ exit 0
+ fi
+
+ stack --no-terminal setup --install-ghc
+ echo n | stack --no-terminal upload .