hercules-ci-agent 0.8.3 → 0.8.4
raw patch · 6 files changed
+46/−8 lines, 6 files
Files
- CHANGELOG.md +26/−1
- cbits/hercules-logger.hh +1/−1
- cbits/nix-2.4/hercules-store.hh +1/−1
- hercules-ci-agent.cabal +9/−3
- hercules-ci-agent/Hercules/Agent/Config.hs +8/−0
- hercules-ci-agent/Hercules/Agent/Effect.hs +1/−2
CHANGELOG.md view
@@ -5,6 +5,30 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.8.4]++### Added++ - The path to `secrets.json` is now configurable in the module or config file,+ using the `secretsJsonPath` setting, analogous to `clusterJoinTokenPath`.++ - `aarch64-darwin` is now officially supported.++ - All module settings options will be visible in the NixOS documentation.+ Some less-used settings were hidden, specifically the file path options+ that default to `staticSecretsDirectory + "/cluster-join-token.key"`, etc.++### Changed++ - The flake packages and modules now link with Nix 2.4.+ Nix 2.3 support is still available via `packages.${system}.hercules-ci-agent-nix_2_3`, but will be removed in agent 0.9.x.++ - No longer patch Boehm GC, staying closer to regular Nix and the Nixpkgs build of the `hercules-ci-agent`.++### Fixed++ - Various fixes related to the upgrade to Nix 2.4.+ ## [0.8.3] ### Added@@ -428,10 +452,11 @@ - Support ci.nix or nix/ci.nix along with default.nix -## [0.1.0.0] - 2019-03-28+## 0.1.0.0 - 2019-03-28 - Initial release +[0.8.4]: https://github.com/hercules-ci/hercules-ci-agent/compare/hercules-ci-agent-0.8.3...hercules-ci-agent-0.8.4 [0.8.3]: https://github.com/hercules-ci/hercules-ci-agent/compare/hercules-ci-agent-0.8.2...hercules-ci-agent-0.8.3 [0.8.2]: https://github.com/hercules-ci/hercules-ci-agent/compare/hercules-ci-agent-0.8.1...hercules-ci-agent-0.8.2 [0.8.1]: https://github.com/hercules-ci/hercules-ci-agent/compare/hercules-ci-agent-0.8.0...hercules-ci-agent-0.8.1
cbits/hercules-logger.hh view
@@ -13,7 +13,7 @@ #include <string> #include <chrono> -class HerculesLogger : public nix::Logger {+class HerculesLogger final : public nix::Logger { public: struct LogEntry;
cbits/nix-2.4/hercules-store.hh view
@@ -118,7 +118,7 @@ }; -class HerculesStore : public WrappingStore {+class HerculesStore final : public WrappingStore { public: StorePathSet ensuredPaths; void (* builderCallback)(std::vector<nix::StorePathWithOutputs>*, std::exception_ptr *exceptionToThrow);
hercules-ci-agent.cabal view
@@ -1,7 +1,7 @@ cabal-version: 2.4 name: hercules-ci-agent-version: 0.8.3+version: 0.8.4 synopsis: Runs Continuous Integration tasks on your machines category: Nix, CI, Testing, DevOps homepage: https://docs.hercules-ci.com@@ -37,6 +37,8 @@ if os(darwin) -- avoid https://gitlab.haskell.org/ghc/ghc/issues/11829 ld-options: -Wl,-keep_dwarf_unwind+ -- llvm severe warnings+ cxx-options: -Werror=abstract-final-class if impl(ghc >= 8.10) ghc-options:@@ -49,7 +51,13 @@ if os(darwin) ghc-options: -pgmc=clang++ + if flag(nix-2_4)+ cpp-options:+ -DNIX_2_4+ cxx-options:+ -DNIX_2_4 + library exposed-modules: Data.Fixed.Extras@@ -251,8 +259,6 @@ cxx-sources: cbits/hercules-logger.cxx if flag(nix-2_4)- cpp-options:- -DNIX_2_4 cxx-sources: cbits/nix-2.4/hercules-store.cxx else
hercules-ci-agent/Hercules/Agent/Config.hs view
@@ -53,6 +53,7 @@ workDirectory :: Item purpose 'Required FilePath, clusterJoinTokenPath :: Item purpose 'Required FilePath, binaryCachesPath :: Item purpose 'Required FilePath,+ secretsJsonPath :: Item purpose 'Required FilePath, logLevel :: Item purpose 'Required Severity, labels :: Item purpose 'Required (Map Text A.Value) }@@ -82,6 +83,8 @@ .= clusterJoinTokenPath <*> dioptional (Toml.string "binaryCachesPath") .= binaryCachesPath+ <*> dioptional (Toml.string "secretsJsonPath")+ .= secretsJsonPath <*> dioptional (Toml.enumBounded "logLevel") .= logLevel <*> dioptional (Toml.tableMap _KeyText embedJson "labels")@@ -177,6 +180,10 @@ fromMaybe (staticSecretsDir </> "binary-caches.json") (binaryCachesPath input)+ secretsJsonP =+ fromMaybe+ (staticSecretsDir </> "secrets.json")+ (secretsJsonPath input) workDir = fromMaybe (baseDir </> "work") (workDirectory input) dabu <- determineDefaultApiBaseUrl numProc <- getNumProcessors@@ -200,6 +207,7 @@ concurrentTasks = validConcurrentTasks, baseDirectory = baseDir, staticSecretsDirectory = staticSecretsDir,+ secretsJsonPath = secretsJsonP, workDirectory = workDir, logLevel = logLevel input & fromMaybe InfoS, labels = fromMaybe mempty $ labels input
hercules-ci-agent/Hercules/Agent/Effect.hs view
@@ -20,7 +20,6 @@ import qualified Hercules.Agent.WorkerProtocol.LogSettings as LogSettings import qualified Network.URI import Protolude-import System.FilePath ((</>)) import qualified System.Posix.Signals as PS import System.Process @@ -62,7 +61,7 @@ baseURL = toS $ Network.URI.uriToString identity baseURL "" }, materializeDerivation = materialize,- secretsPath = toS $ Config.staticSecretsDirectory config </> "secrets.json",+ secretsPath = toS $ Config.secretsJsonPath config, token = Sensitive (EffectTask.token effectTask), apiBaseURL = Config.herculesApiBaseURL config, projectId = EffectTask.projectId effectTask,