Skip to content

Releases: savoirfairelinux/cqfd

Release v5.6.0

05 Dec 20:35
Compare
Choose a tag to compare

What's Changed

  • New CQFD_NO_USER_SSH_CONFIG environment variable to disable forwarding user ssh config independently of the /etc/ssh directory.
  • Revert to bash as the default shell.
  • Forward .gitconfig to container, with environment variable CQFD_NO_USER_GIT_CONFIG to disable this behavior
  • Add a --verbose option
  • Improve Bash completions compatibility with zsh.

Full Changelog: v5.5.0...v5.6.0

Release v5.5.0

25 Feb 17:26
Compare
Choose a tag to compare
  • Add the cqfd shell command.
  • Custom Docker images can now be used using custom_img_name.
  • Bring Bash completions back up to date.
  • Misc. fixes.

Release v5.4.0

09 Jun 18:47
Compare
Choose a tag to compare

Version 5.4.0 (2023-06-09)

  • Changes to the Dockerfile since the last init are now detected, and will
    raise an error.
  • Add the -c option to cqfd run/release, to pass extra arguments to the
    pre-defined command.
  • The host's /etc/ssh directory is now mapped into the container, to pass
    ssh clients running in the container the same configuration as on the host.
    Cqfd historically mapped ~/.ssh into the container for similar reasons. Note
    this feature can be disabled using the CQFD_NO_SSH_CONFIG environment
    variable.
  • The flavors= parameter is not required anymore, as extra flavors in the
    config file are automatically detected.
  • When in a project sub-directory, try to locate the .cqfd context in parent
    directories automatically.

Release v5.3.0

05 Jan 18:25
Compare
Choose a tag to compare
  • Add the docker_run_args .cqfdrc option.
  • Misc. documentation fixes.

Release v5.2.1

15 Sep 03:14
Compare
Choose a tag to compare

This is a bugfix release.

  • Fixed an error when launching cqfd run from a working directory with spaces in its hierarchy.
  • Misc. fixes to the integrated test suite.

v5.2.0

14 Sep 12:53
Compare
Choose a tag to compare
  • The -d option was added to specify an alternate cqfd directory.
  • The -C option was added to change the working directory.
  • Date strings now use POSIX options, eg. for running on macOS.
  • Containers are now named cqfd_%user_%company_%project instead of cqfd_%company_%project. This prevents collisions with Docker when several users are using it on the same machine.
  • Added a tar_options config file option to pass extra options to the tar command.
  • Add support for CQFD_EXTRA_BUILD_ARGS to pass args and options to the image build process.

v5.1.0

13 May 16:40
Compare
Choose a tag to compare
  • The launcher script in the container now gives extra infos in case of failure.
  • sudo(8) is now used (if available) to run the commands as the unprivileged user in the container instead of su(1).
  • The project.build_context key allows changing the docker-build context directory.
  • Options -v and --version now behave appropriately

Thanks to all the contributors !

Bugfix release

13 Dec 07:02
Compare
Choose a tag to compare
  • Fix wrong user homedir in container when host user isn't in /home
  • Terminate cqfd in case a legacy CQFD_EXTRA_* variable is used.

Goodbye, builder user

22 Jun 20:21
Compare
Choose a tag to compare
  • Use semantic versioning
  • CQFD_EXTRA_RUN_ARGS replaces CQFD_EXTRA_VOLUMES,ENV,HOSTS,PORTS.
  • The container's user and work directory are now the same as the
    invocating user. This is useful to prevent cases where the build
    process generates symlinks or paths in files that don't match the
    developer's environment.
  • New cqfd [-v|--version] to print the version

On the road to versatility

29 Sep 18:29
Compare
Choose a tag to compare

This is a significant release where cqfd was used in a bunch of different environments.

The major changes in version 4 are highlighted below:

  • Files in an archive are only moved at its root if tar_transform is set to yes
  • Added support for .tar.gz and .zip release archives
  • Default archive filename is now named after the project's configuration
  • Removed the [release] config section
  • Allow templating the release filename
  • Preserve container environment into the build user's shell
  • Better documentation
  • A lot of test coverage
  • Lots of bugfixes

And here's the shortlog for reference:

Alexandre Lision (1):
      add a Dockerfile for android projects as a sample

Ash Charles (2):
      Add notes on SSH handling to readme
      Clarify the container execution environment

Damien Riegel (1):
      cqfd: handle case where ssh-agent socket is not called "ssh"

Gaël PORTAY (27):
      cqfd: add shell error flag
      cqfd: print an error if ini-file is invalid
      cqfd: allow multiline for files
      jtest.inc: typo
      cqfd: release: update error message
      cqfd: use 0 and 1 value
      cqfd: check .cqfdrc existence at parse
      cqfd: fix miss-indented cat
      cqfd: fix usage missing elements
      cqfd: suffix docker image with $distro
      cqfd: prefix docker image with cqfd
      cqfd: simplify parsing for multi-line
      cqfd: add quiet mode option -q
      tests: make tests less verbose
      tests: fix uncleaned temporary directory
      tests: use cp/mv -f option
      tests: do not escape brackets in replacement
      tests: remove duplicate release command
      tests: fix traces
      tests: make them more uniform
      cqfd: allow init to use flavor option
      cqfd: fix non unique user-id
      Makefile: add PREFIX variable to install rule
      Add bash-completion script
      README.md: fix minor formatting nitpick
      README: add note about the flavors argument
      Merge pull request #29 from joufella/remove_locales

Jérôme Oufella (42):
      cqfd: preserve environment in user shell
      cqfd: move to a standalone design
      cqfd: refactor config handling
      cqfd: add cqfd test suite
      cqfd: convert README to reStructuredText
      cqfd: add GPLv3 license requirements
      convert README to markdown
      Merge "makefile: fix wrong install command"
      README: move testing documentation down
      cqfd: add support for release filename templating
      cqfd: remove useless warning at run time
      cqfd: prefix error messages
      doc: change header formatting style
      doc: refactor and simplify documentation
      doc: refine documentation style
      cqfd: template project org and name
      cqfd: cleanup flavor handling
      Merge pull request #10 from ashcharles/master
      default archive name to org-project.tar.xz
      Merge pull request #16 from gazoo74/release-files-multiline
      Merge pull request #17 from gazoo74/cleanup
      allow passing of environment variables
      tests: remove extra debug
      Merge pull request #25 from gazoo74/fix-tests
      Merge pull request #24 from gazoo74/simplify-ini-parsing
      Merge pull request #23 from gazoo74/quiet
      Merge pull request #26 from gazoo74/groupadd-unique
      samples: get rid of locale fixes in Dockerfiles
      tests: get rid of locale fixes in Dockerfiles
      README.md: clarify example
      cqfd: don't use a log driver
      Add tty(1) based terminal detection
      README: correct default archive name
      README: make docker group membership explicit
      cqfd: support multiple release archive formats
      tests: remove cruft, improve readability
      cqfd: rename $make_archive -> $release
      cqfd: accept all kind of archive files
      tests: separate test cases
      tests: add coverage for 'cqfd release' files
      tests: jtest: better reporting
      update CHANGELOG for v4 release

Mathieu Audat (3):
      cqfd: build flavors without run|release
      cqfd: do not mandate flavor prefixes
      cqfd: have Dockerfile path in config file

Olivier Dugas (6):
      Merge pull request #43 from joufella/master
      cqfd: rename cfg_parser to parse_ini_config_file
      cqfd: use booleans instead of integers
      cqfd: fix expected value of tar_transform
      cqfd: avoid unrequired test of same condition in docker_run
      cqfd: config_load: avoid a for loop in flavor detection

Patrick Keroulas (9):
      cqfd: fix argument parsing
      cqfd: fix additional cmd arguments parsing
      cqfd: normalize variable names
      fix .gitreview
      add (un)install rules in Makefile
      provide a .cqfdrc file sample
      add a Dockerfile for nodejs projects as a sample
      makefile: fix wrong install command
      doc: bring some context

Philipp Skadorov (1):
      cqfd: replace boolean && with if-then

Sebastien Bourdelin (1):
      cqfd: remove release section requirement

Sevag Hanssian (2):
      Support --add-host docker run option
      add tests for extra_hosts feature

Tho Nguyen (1):
      cleanup container after exit