diff options
| author | LLLL Colonq <llll@colonq> | 2023-11-16 19:06:43 -0500 |
|---|---|---|
| committer | LLLL Colonq <llll@colonq> | 2023-11-16 19:06:43 -0500 |
| commit | dcef0b65069fb38fd0f6c4382353167f603ebff1 (patch) | |
| tree | 45954ffe308c3dd056e6af4f734e6d2af89e5856 /deps/irc-conduit/concourse/pipeline.yml | |
Initial commit
Diffstat (limited to 'deps/irc-conduit/concourse/pipeline.yml')
| -rw-r--r-- | deps/irc-conduit/concourse/pipeline.yml | 121 |
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 . |
