From dcef0b65069fb38fd0f6c4382353167f603ebff1 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Thu, 16 Nov 2023 19:06:43 -0500 Subject: Initial commit --- deps/irc-client/concourse/pipeline.yml | 121 +++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 deps/irc-client/concourse/pipeline.yml (limited to 'deps/irc-client/concourse/pipeline.yml') diff --git a/deps/irc-client/concourse/pipeline.yml b/deps/irc-client/concourse/pipeline.yml new file mode 100644 index 0000000..b27ac41 --- /dev/null +++ b/deps/irc-client/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-client-git + type: git + source: + uri: https://github.com/barrucadu/irc-client.git + - name: irc-client-cabal-git + type: git + source: + uri: https://github.com/barrucadu/irc-client.git + paths: + - irc-client.cabal + +jobs: + - name: update-pipeline + plan: + - get: irc-client-git + trigger: true + - set_pipeline: irc-client + file: irc-client-git/concourse/pipeline.yml + + - name: test-snapshot + plan: + - get: irc-client-git + trigger: true + - get: stackage-feed + trigger: true + - task: build-and-test + input_mapping: + source-git: irc-client-git + config: + <<: *task-build-and-test + inputs: + - name: stackage-feed + - name: source-git + + - name: test + plan: + - get: irc-client-cabal-git + trigger: true + - task: build-and-test + input_mapping: + source-git: irc-client-cabal-git + config: + <<: *task-build-and-test + + - name: release + plan: + - get: irc-client-cabal-git + trigger: true + passed: + - test + - task: release + input_mapping: + source-git: irc-client-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-client.cabal | sed 's/^version: *//') + + if curl -fs "http://hackage.haskell.org/package/irc-client-${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 . -- cgit v1.2.3