Skip to content
Snippets Groups Projects
  1. Oct 11, 2018
  2. Oct 01, 2018
    • Dduvall's avatar
      Remove support for `sharedvolume` configuration · af9e7979
      Dduvall authored
      Support for mounting a shared volume instead of copying application
      files was meant to provide an option for development use cases. This
      functionality has never been thoroughly tested or utilized for any use
      case. It should be removed for now.
      
      Relates tangentially to task T204591 that simplifies node support.
      
      Change-Id: Ib70cb7bceb504841897a38d732880ba376fe67c8
      af9e7979
  3. Sep 26, 2018
  4. Sep 20, 2018
  5. Sep 17, 2018
  6. Sep 13, 2018
    • Thcipriani's avatar
      Remove some types that will be inferred · eba4cf63
      Thcipriani authored
      Adding types to variables that would have their types inferred from
      function return types causes lint errors in go1.10.3 (my local machine).
      
      Change-Id: I71ffbe7843084b4bd22b15ed223ed05d4ccc9aaa
      eba4cf63
    • Thcipriani's avatar
      Fix make release · fa5d440f
      Thcipriani authored
      Missed during the rename from blubberd -> blubberoid. The shell needed
      to be changed to /bin/bash to accommodate the "{}" shell expansion which
      doesn't work with sh.
      
      Change-Id: I1743d58b17fe794b517e8d1d947ae29135bdc73d
      fa5d440f
  7. Aug 29, 2018
  8. Aug 14, 2018
    • Dduvall's avatar
      Bump Blubber config version to v3 · b6c9e31f
      Dduvall authored
      Change-Id: I91cac046976cf88d513487e27e1b52bf77a6f974
      b6c9e31f
    • Dduvall's avatar
      Refactor builder to support file requirements and run pre-install · 374976d4
      Dduvall authored
      The builder configuration has proven useful for supporting generic
      pre-entrypoint commands such as dependency managers not otherwise
      supported by specific Blubber configuration. Adding additional
      `builder.requirements` config expands support for such commands by
      allowing the user to specify files that should be copied into the image
      before the builder command runs.
      
      To support this extra configuration, `builder` had to be changed from a
      simple string to a mapping. The builder command must now by given as
      `builder.command`.
      
      The pattern of creating parent directories, copying files, and executing
      one or more commands prior to the entrypoint has become a common
      one. Some of the implementation of this pattern was moved from
      `PythonConfig` into shared build macros `build.SortFilesByDir` and
      `build.SyncFiles`. All config types that must have requirements files
      copied over independently of the entire source tree (`PythonConfig`,
      `BuilderConfig`, `NodeConfig`) now delegate to these functions.
      
      Change-Id: I67f33034f22cee2851ec866cfb07ab20c23eba8c
      374976d4
  9. Aug 10, 2018
    • Dduvall's avatar
      Test Blubber in CI using Blubber · e7ce38ca
      Dduvall authored
      Added a `blubber.yaml` that defines a single test variant and entry
      point for use with the new generic `blubber-test` CI job (see
      I31b367f2ab8b897fa988e70222f70d84186a631b).
      
      Bug: T200452
      Change-Id: I60b23e1bca8486e43ebf0f62198e85833f86b921
      e7ce38ca
  10. Aug 09, 2018
    • Dduvall's avatar
      Makefile lint rule now tests gofmt output and runs go vet correctly · d8d27730
      Dduvall authored
      The `lint` rule was previous surfacing purely whitespace output of
      `gofmt` as a failure and running `go tool vet` instead of `go vet` (the
      former accepts source files as arguments, the latter takes package
      names).
      
      A real lint error in `config/node.go` was also fixed.
      
      Change-Id: I7f13dcbb45a448f1ecac87e97527a7f4ed4d2c48
      d8d27730
  11. Aug 02, 2018
  12. Aug 01, 2018
    • Dduvall's avatar
      Provide Makefile rules for running linters and tests · 44dc7d91
      Dduvall authored
      With the move to Gerrit and away from Phabricator/Arcanist, we lost an
      easy way to run linters. New rules have been added to the `Makefile`,
      `lint`, `unit`, and `test` that run linters, unit tests, and both
      linters and unit tests, respectively.
      
      Bug: T200452
      Change-Id: I0742daaa14389841d88f13eba47dee07ac127cf2
      44dc7d91
    • Hashar's avatar
      Add .gitreview file · 1fe58ac9
      Hashar authored
      Change-Id: I4b6a2ece0f0096c49ab4dba06f358e794941f94d
      1fe58ac9
  13. Jul 31, 2018
    • Dduvall's avatar
      Change import paths from Phabricator to Gerrit · 80936122
      Dduvall authored
      All import paths and other references to the previously Blubber repo in
      Phabricator have been changed to point to the new Gerrit project URL.
      
      Note that building or testing against this change will require you to
      move your working directory to `$GOPATH/src/gerrit.wikimedia.org/r/blubber`.
      
      Contribution documentation was updated to reflect the changes, and the
      `.arcvendor` submodule has been removed.
      
      Bug: T200452
      Change-Id: I3ab23e420b2825e86e2bd7c9b3da9d4de23edaa1
      80936122
  14. Jul 26, 2018
    • Thcipriani's avatar
      Add slash to directory path if copying > 1 file · aba163aa
      Thcipriani authored
      Summary:
      Ran into a Docker error when attempting to build a node project with
      more than one requirements files:
      
          When using COPY with more than one source file, the destination must
          be a directory and end with a /
      
      Reviewers: dduvall, #release-engineering-team
      
      Reviewed By: dduvall, #release-engineering-team
      
      Tags: #release-engineering-team
      
      Differential Revision: https://phabricator.wikimedia.org/D1080
      aba163aa
  15. May 31, 2018
  16. May 25, 2018
  17. May 24, 2018
  18. May 20, 2018
  19. May 19, 2018
    • Alexandros Kosiaris's avatar
      Add a pip install step · 1b6a7003
      Alexandros Kosiaris authored and Dduvall's avatar Dduvall committed
      Summary:
      We want to also install the wheels, not just generate them. To do that
      we add a pip install -t <target> command. For this to work however, we
      need to install into /opt/lib/python and amend the environment
      accordingly to set PYTHONPATH and PATH in order for the libraries and
      binaries to be accessible.
      
      Reviewers: dduvall, thcipriani, #release-engineering-team
      
      Tags: #release-engineering-team
      
      Differential Revision: https://phabricator.wikimedia.org/D1057
      1b6a7003
  20. Apr 30, 2018
    • Dduvall's avatar
      Ensure non-interactive front-end for APT · 71f24e2b
      Dduvall authored
      Summary:
      Ensure that `DEBIAN_FRONTEND=noninteractive` is set before injecting
      `apt-get install` instructions.
      
      Test Plan: Run unit tests.
      
      Reviewers: thcipriani, mmodell, hashar, demon, #release-engineering-team
      
      Reviewed By: thcipriani, #release-engineering-team
      
      Tags: #release-engineering-team
      
      Differential Revision: https://phabricator.wikimedia.org/D1032
      71f24e2b
  21. Apr 05, 2018
    • Dduvall's avatar
      Refactor validation tests without YAML parsing · ea364b2f
      Dduvall authored
      Summary:
      Since `config.Validate` was changed to take any interface as an
      argument, many of the validation tests can be refactored in a way that
      avoids having to parse the full config context in YAML and instead
      validates each specific config struct directly. The new test pattern is
      simpler and less prone to future breakage should unrelated parts of the
      overall config change.
      
      Tests that rely on root config context were left unchanged.
      
      Test Plan: Run `go test ./...`.
      
      Reviewers: thcipriani, demon, hashar, mmodell, #release-engineering-team
      
      Reviewed By: thcipriani, #release-engineering-team
      
      Tags: #release-engineering-team
      
      Differential Revision: https://phabricator.wikimedia.org/D1023
      ea364b2f
    • Dduvall's avatar
      Introduce strict/versioned config parsing · 26b99845
      Dduvall authored
      Summary:
      Introduced a `version` config field that must be specified and match
      `config.CurrentVersion`.
      
      Changed `config.ReadConfig` to use `yaml.UnmarshalStrict` to ensure that
      errors are surfaced when unknown/bad fields are present in the given
      YAML config. A smaller `config.VersionConfig` is now unmarshaled first
      to prevalidate the new `version` field before the entire config is
      parsed.
      
      Fixes T191460
      
      Test Plan:
      Run `go test ./...`. Run `blubber` against some configuration containing
      invalid fields and ensure that it surfaces a YAML error.
      
      Reviewers: thcipriani, demon, hashar, mmodell, mobrovac, #release-engineering-team
      
      Reviewed By: thcipriani, #release-engineering-team
      
      Tags: #release-engineering-team
      
      Maniphest Tasks: T191460
      
      Differential Revision: https://phabricator.wikimedia.org/D1021
      26b99845
  22. Apr 04, 2018
  23. Mar 28, 2018
    • Dduvall's avatar
      Provide a CONTRIBUTING.md guide · 73ee493d
      Dduvall authored
      Summary:
      To help new developers get on board, let's provide a `CONTRIBUTING.md`
      doc.
      
      Test Plan: Proofread with your eyeballs.
      
      Reviewers: thcipriani, demon, hashar, mmodell, zeljkofilipin, greg, Jrbranaa, #release-engineering-team
      
      Reviewed By: thcipriani, hashar, #release-engineering-team
      
      Tags: #release-engineering-team
      
      Differential Revision: https://phabricator.wikimedia.org/D993
      73ee493d
  24. Mar 23, 2018
  25. Mar 22, 2018