You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Valentin Lab 91bfd7ba9b fix: [gogocarto] improve solidity of cron scripts facing the ``no-matching-entries`` bug 2 weeks ago
hooks fix: [cron] make cron build again 2 months ago
lib fix: [cron] make cron build again 2 months ago chg: doc: [gogocarto] update build instructions 12 months ago
metadata.yml fix: [gogocarto] improve solidity of cron scripts facing the ``no-matching-entries`` bug 2 weeks ago

Minimal compose.yml

    admin-password: MYADMINPASSWORD

Charm note and status

As the current docker install of gogocarto as of <2020-10-20 Tue> is far from being mature, we try here to get only the released part.

We are talking of: gogocarto docker install documentation


This process will ensure to avoid rebuilding the gigantic intermediate image needed (with apache and build/install tools).

You need to run this from the root of a code checkout of:, on the version you want to produce a release from.

  docker_tree_hash=$(git rev-parse HEAD:docker)
  ## Intermediate docker image is cached on if needed
  if ! docker pull${docker_tree_hash}; then
      make docker-build &&
      docker tag gogocarto_gogocarto:latest${docker_tree_hash} &&
      docker push${docker_tree_hash} || {
          echo "You don't seem to be able to push something on, that's ok."
      docker tag${docker_tree_hash} gogocarto_gogocarto:latest
  make up &&
  docker-compose exec gogocarto make init

Last make init is building the actual code to be served.

Full release is cached on

This is the content of the source tree, once populated by make init.

mongodb initialisation is not included in source and is handled by the charm

As of <2022-12-03 Sat>, the Makefile's init target is:

$ grep ^init Makefile -A1 init: install assets load-fixtures fix-perms ## Initialize the project

Note that load-fixtures target is actually the mongodb initialization:

load-fixtures: ## Create the DB schema, generate DB classes and load fixtures
        $(SYMFONY) doctrine:mongodb:schema:create
        $(SYMFONY) doctrine:mongodb:generate:hydrators
        $(SYMFONY) doctrine:mongodb:generate:proxies
        $(SYMFONY) doctrine:mongodb:fixtures:load -n

This is be done in the hooks/mongo_database-relation-joined accordingly.

create the full release bundle

## Force original versions
git co web/index.php config/packages/doctrine_mongodb.yaml bin/console
sed -ri "s/^(<\?php)/\1\n\ini_set('memory.limit', '1024M');/" \
    web/index.php bin/console
sed -ri "s/\"use_as_saas=%env\(resolve:USE_AS_SAAS\)%\/%env\(resolve:DATABASE_NAME\)%\"/'%env(resolve:DATABASE_NAME)%'/g" \

## Add missing tags in git
git log --format="%H" -- config/parameters.yaml |
    while read h; do
        printf "%s\t%s\n" "$h" "$(git show $h:config/parameters.yaml |
             grep version |
             cut -f 2 -d ":" |
             xargs echo)"
    done  | uniq -f 1 |
    while read a b; do
        git tag "$b" "$a" 2>/dev/null
commit_sha=$(git describe HEAD --tags)
tar cjv \
    --exclude=.git --exclude=.gitignore --exclude=.github \
    --owner=root --group=root \
    bin web vendor config src templates translations \
    > gogocarto-${commit_sha}.tar.bz2

This is still far from being perfect, I wonder if we can just remove all non '\*.{php,yml,js}' files. I noticed many many unrelated files in vendor/.

We need bin for symphony utilities that allows to setup things.