Skip to Content.
Sympa Menu

cacert-devel - Re: Setting up a test machine

Subject: CAcert Code Development list.

List archive

Re: Setting up a test machine


Chronological Thread 
  • From: Jan Dittberner <jandd AT cacert.org>
  • To: dirk astrath <dirk AT cacert.org>
  • Cc: Brian <bdmc AT buadh-brath.com>, bernhard AT cacert.org, cacert-devel AT lists.cacert.org
  • Subject: Re: Setting up a test machine
  • Date: Mon, 16 Aug 2021 13:36:24 +0200

Am Mon, Aug 16, 2021 at 01:09:31PM +0200 schrieb dirk astrath:
> > The PHP documentation advises against short open tags [2] but we have
> > them all over the place. I decided against replacing all occurences in
> > my pull request [3] for the mysqli change to not introduce more noise
> > for the reviewer(s).
>
> good idea ... ;-)

I think there should be a separate cleanup PR that just takes care of the
short open tag replacement.

Followed by one or multiple other PRs to clean the code. It would be great
if the application would work with out-of-the box package PHP from the
Debian repositories.

> in my experience it's way easier to do small changes ... a lot of small
> changes instead of doing a big change ... ;-)

Fully agreed.

> doing a review of a big change where these php-tags and mysql and formatting
> is changed will nearly be impossible (or take quite a long time) ...
>
> ... and if i now take off my reviewers hat and replace it by the critical
> one ...
>
> in case we need to update a lot of files it's not easy to revert back to the
> previous version ... if it's only two or three it's way easier ... ;-)

Then we are doing it wrong(TM) :-)

A production deployment (forward and backward) must be the same as a test
deployment of the same version. In case of scripting languages like PHP this
should be a Git checkout of a tested tag. In case of compiled languages
(Go/Java) this should be a deployment of the exact same deployment artifact
(binary, JAR/WAR) that has been tested.

All that should be diffent between a test and production environment should
be the environment configuration. I recommend to adhere to
https://12factor.net/config to make this possible. I know that the CAcert
software is not there yet, but it should be.

The only thing that might make rollbacks hard are changes to existing
persistence (database) models. Everything else should just be "replace new
code with the previously known good one".

Maybe we should have a more in depth discussion of our deployment
mechanisms.


Kind regards
Jan

--
Jan Dittberner - CAcert Infrastructure Team Lead
Software Architect, Debian Developer
GPG-key: 4096R/0xA73E0055558FB8DD 2009-05-10
B2FF 1D95 CE8F 7A22 DF4C F09B A73E 0055 558F B8DD
https://jan.dittberner.info/

Attachment: smime.p7s
Description: S/MIME cryptographic signature




Archive powered by MHonArc 2.6.18.

Top of Page