I'm trying to setup PHP unit testing for our PHP application using MariaDB as a "service".
Now, as soon as I declare that my step should use the service defined in "definitions" section the pipeline fails with the message "The step provided was invalid". Whenever I remove the service from the step it works.
According to https://bitbucket-pipelines.atlassian.io/validator my bitbucket-pipelines.yml is valid.
What am I doing wrong? What does the error mean? How can I debug that error?
I currently use the following bitbucket-pipelines.yml for testing:
clone: depth: 1 pipelines: default: - step: image: php:7.0-apache script: - ls services: - maria definitions: services: maria: image: mariadb environment: MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' MYSQL_ROOT_PASSWORD: '' MYSQL_DATABASE: 'dev'
Hello,
The issue is that you have an empty string for the value of the MYSQL_ROOT_PASSWORD. Pipelines fails to parse this as it is a string with no content.
An alternate way of setting the MYSQL_ROOT_PASSWORD variable to an empty string is to set MYSQL_ROOT_PASSWORD="\0".
Thanks,
Phil
Hi Philip,
Thanks for your response, I'll try that ASAP!
It would be nice if such conditions could be built into the validator (or is there some other documentation I missed?). I guess this would simplify things for you as well...
Thanks,
Mike
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Philip,
Since I receive a different error message now, it seems to work ;-)
Thanks again!
Mike
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ok, setting the MySQL password to "\0" did not work, instead I got the following error:
container_linux.go:247: starting container process caused "process_linux.go:320: reading syncT run type caused \"write parent: broken pipe\""
When I set a password (like 123456) it works.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Excellent! I'll open an internal issue for adding the validation logic. And I'll bring up the empty variable use-case with our PMs.
Glad to see you got things working. :)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.