michaelmcandrew/civicrm-buildkit-docker

Fails to build because api4 now in core

Closed this issue · 10 comments

A fresh clone of this repo, following install instructions dies on the dmaster build with this error:

cv en --ignore-missing api4
Cannot install incompatible extension: org.civicrm.api4

I think this means its buildkit is not up to date (since api4 moved from being an extension to in core)

I had the same issue. If you run the following commands it should fix it:

bkc git pull
bkc ./bin/civi-download-tools
buildkit@civicrm:~$ git pull
Already up-to-date.
buildkit@civicrm:~$ ./bin/civi-download-tools
[[Composer binary (/buildkit/bin/composer) already exists. Skipping.]]
[[composer dependencies already installed. Skipping.]]
[[npm dependencies already installed. Skipping.]]
[[hub (/buildkit/extern/hub) already exists. Skipping.]]

Then

docker-compose exec -u buildkit civicrm civibuild create dmaster

Gives same error. (also tried with civi-download-tools -f)

To clarify because @michaelmcandrew must be sick of me getting his docker set up and buildkit confused :-)

I think it's a bug here because it should be pulling in / built with a more recent version of buildkit or it won't install because of APIv4.

But I think it's a bug over there that buildkit won't install civivolunteer.

I'm sure I had the same issue when we were in Catalonia and I thought the above was how I fixed it but perhaps it was something else?

My setup might be slightly different though as I'm building my own image rather than using the one from Docker Hub.

Have you tried removing the buildkit image as per the upgrade instructions?

thanks @wmortada but I have tried that. We know how to fix this repo - do a git pull; could just update readme for that (although I suspect there's a nicer fix possible).

Or do you think that the authorization fail is also to do with this docker repo and shouldn't be a bug on buildkit?

I'm not getting the API4 issue but I am getting the CiviVolunteer issue so I don't think they are related.

Hey both,

My hunch is that this is fundamentally a buildkit issue.

I rebuild images from scratch every day based on the latest versions of everything so if the issue is fixed upstream and you are still experiencing issues, then my hunch is that some caching is coming into play.

Note that the entire /buildkit directory is stored on a volume that will persist across upgrades.

See the upgrading section of the readme for an explanation and steps to fix.

Hopefully that solves you problem but give me a shout if not / you think we can improve the documentation / way we do things to make this simpler and less error prone.

Hey @michaelmcandrew

So I had this issue setting up a new setup from scratch (as well as with the upgrade of an existing one). I see from docker volume ls that that process created a separate volume for my new instance.

But, it could well be that the day I did that the upstream stuff was in a bad non-building state, as you say. I'd suggest closing this issue if it builds cleanly from scratch for you.

I'll leave it open for a week or two at least to see if anyone else experiences the problem and we can investigate further. Otherwise will close next time I am trawling through the tickets.

Hi @michaelmcandrew - Just a FYI for you. I encountered the API v4 error on upgrade. I had a prior installation so I:

  • wiped out the directory
  • ran docker system prune
  • cloned the repo & started from scratch

Still had the problem as the prune didn't remove the volume. Followed the upgrade instructions and everything was fine.

Thanks for the feedback @johntwyman - closing now