diff --git a/.gitlab-ci.dhall b/.gitlab-ci.dhall index 9e00f3cfa93ba081da6b657766f0f2c4d30aeb3e..96dd56a7834a32acee628af62c0b1490b354c38a 100644 --- a/.gitlab-ci.dhall +++ b/.gitlab-ci.dhall @@ -7,6 +7,27 @@ let let GhcVersion: Type = Text +let + darwinJob: GhcVersion -> Prelude.Map.Entry Text GitLab.Job.Type = \(ghc_version: GhcVersion) -> + let job: GitLab.Job.Type = + GitLab.Job:: + { tags = Some [ "x86_64-darwin" ] + , stage = Some "build" + , variables = toMap { GHC_VERSION = ghc_version } + , script = [ "bash .gitlab/build-linux.sh" ] + , cache = Some + { key = "ghc-${ghc_version}" + , paths = [ "cabal-store/" ] + } + , artifacts = Some + GitLab.ArtifactsSpec:: + { paths = [ "out/haskell-language-server" ] + , expire_in = GitLab.Duration.fromDays 30 + } + } + + in Prelude.Map.keyValue GitLab.Job.Type "darwin-x86_64-ghc${ghc_version}" job + let linuxJob: GhcVersion -> Prelude.Map.Entry Text GitLab.Job.Type = \(ghc_version: GhcVersion) -> let job: GitLab.Job.Type = @@ -45,11 +66,17 @@ let , "8.6.1" ] +let + Jobs: Type = Prelude.Map.Type Text GitLab.Job.Type + let top: GitLab.Top.Type = GitLab.Top:: { stages = Some [ "build" ] - , jobs = Prelude.List.map GhcVersion (Prelude.Map.Entry Text GitLab.Job.Type) linuxJob ghcVersions + , jobs = Prelude.List.concat (Prelude.Map.Entry Text GitLab.Job.Type) + [ Prelude.List.map GhcVersion (Prelude.Map.Entry Text GitLab.Job.Type) linuxJob ghcVersions + , Prelude.List.map GhcVersion (Prelude.Map.Entry Text GitLab.Job.Type) darwinJob ghcVersions + ] } in Prelude.JSON.renderYAML (GitLab.Top.toJSON top) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 99341e73d7d36174ce953852073b7474c3b7fde3..52b99875766b0816958461517645f51c69e203c6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -226,6 +226,222 @@ - "x86_64-linux" "variables": "GHC_VERSION": "8.6.1" +"darwin-x86_64-ghc8.10.3": + "allow_failure": false + "artifacts": + "expire_in": "2592000 second" + "paths": + - "out/haskell-language-server" + "when": "on_success" + "cache": + "key": "ghc-8.10.3" + "paths": + - "cabal-store/" + "script": + - "bash .gitlab/build-linux.sh" + "stage": "build" + "tags": + - "x86_64-darwin" + "variables": + "GHC_VERSION": "8.10.3" +"darwin-x86_64-ghc8.10.2": + "allow_failure": false + "artifacts": + "expire_in": "2592000 second" + "paths": + - "out/haskell-language-server" + "when": "on_success" + "cache": + "key": "ghc-8.10.2" + "paths": + - "cabal-store/" + "script": + - "bash .gitlab/build-linux.sh" + "stage": "build" + "tags": + - "x86_64-darwin" + "variables": + "GHC_VERSION": "8.10.2" +"darwin-x86_64-ghc8.10.1": + "allow_failure": false + "artifacts": + "expire_in": "2592000 second" + "paths": + - "out/haskell-language-server" + "when": "on_success" + "cache": + "key": "ghc-8.10.1" + "paths": + - "cabal-store/" + "script": + - "bash .gitlab/build-linux.sh" + "stage": "build" + "tags": + - "x86_64-darwin" + "variables": + "GHC_VERSION": "8.10.1" +"darwin-x86_64-ghc8.8.4": + "allow_failure": false + "artifacts": + "expire_in": "2592000 second" + "paths": + - "out/haskell-language-server" + "when": "on_success" + "cache": + "key": "ghc-8.8.4" + "paths": + - "cabal-store/" + "script": + - "bash .gitlab/build-linux.sh" + "stage": "build" + "tags": + - "x86_64-darwin" + "variables": + "GHC_VERSION": "8.8.4" +"darwin-x86_64-ghc8.8.3": + "allow_failure": false + "artifacts": + "expire_in": "2592000 second" + "paths": + - "out/haskell-language-server" + "when": "on_success" + "cache": + "key": "ghc-8.8.3" + "paths": + - "cabal-store/" + "script": + - "bash .gitlab/build-linux.sh" + "stage": "build" + "tags": + - "x86_64-darwin" + "variables": + "GHC_VERSION": "8.8.3" +"darwin-x86_64-ghc8.8.2": + "allow_failure": false + "artifacts": + "expire_in": "2592000 second" + "paths": + - "out/haskell-language-server" + "when": "on_success" + "cache": + "key": "ghc-8.8.2" + "paths": + - "cabal-store/" + "script": + - "bash .gitlab/build-linux.sh" + "stage": "build" + "tags": + - "x86_64-darwin" + "variables": + "GHC_VERSION": "8.8.2" +"darwin-x86_64-ghc8.8.1": + "allow_failure": false + "artifacts": + "expire_in": "2592000 second" + "paths": + - "out/haskell-language-server" + "when": "on_success" + "cache": + "key": "ghc-8.8.1" + "paths": + - "cabal-store/" + "script": + - "bash .gitlab/build-linux.sh" + "stage": "build" + "tags": + - "x86_64-darwin" + "variables": + "GHC_VERSION": "8.8.1" +"darwin-x86_64-ghc8.6.5": + "allow_failure": false + "artifacts": + "expire_in": "2592000 second" + "paths": + - "out/haskell-language-server" + "when": "on_success" + "cache": + "key": "ghc-8.6.5" + "paths": + - "cabal-store/" + "script": + - "bash .gitlab/build-linux.sh" + "stage": "build" + "tags": + - "x86_64-darwin" + "variables": + "GHC_VERSION": "8.6.5" +"darwin-x86_64-ghc8.6.4": + "allow_failure": false + "artifacts": + "expire_in": "2592000 second" + "paths": + - "out/haskell-language-server" + "when": "on_success" + "cache": + "key": "ghc-8.6.4" + "paths": + - "cabal-store/" + "script": + - "bash .gitlab/build-linux.sh" + "stage": "build" + "tags": + - "x86_64-darwin" + "variables": + "GHC_VERSION": "8.6.4" +"darwin-x86_64-ghc8.6.3": + "allow_failure": false + "artifacts": + "expire_in": "2592000 second" + "paths": + - "out/haskell-language-server" + "when": "on_success" + "cache": + "key": "ghc-8.6.3" + "paths": + - "cabal-store/" + "script": + - "bash .gitlab/build-linux.sh" + "stage": "build" + "tags": + - "x86_64-darwin" + "variables": + "GHC_VERSION": "8.6.3" +"darwin-x86_64-ghc8.6.2": + "allow_failure": false + "artifacts": + "expire_in": "2592000 second" + "paths": + - "out/haskell-language-server" + "when": "on_success" + "cache": + "key": "ghc-8.6.2" + "paths": + - "cabal-store/" + "script": + - "bash .gitlab/build-linux.sh" + "stage": "build" + "tags": + - "x86_64-darwin" + "variables": + "GHC_VERSION": "8.6.2" +"darwin-x86_64-ghc8.6.1": + "allow_failure": false + "artifacts": + "expire_in": "2592000 second" + "paths": + - "out/haskell-language-server" + "when": "on_success" + "cache": + "key": "ghc-8.6.1" + "paths": + - "cabal-store/" + "script": + - "bash .gitlab/build-linux.sh" + "stage": "build" + "tags": + - "x86_64-darwin" + "variables": + "GHC_VERSION": "8.6.1" "stages": - "build" "variables":