New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Phalcon #229

Merged
merged 5 commits into from Mar 8, 2017

Conversation

Projects
None yet
4 participants
@chingor13
Member

chingor13 commented Mar 6, 2017

This pull request does 2 things:

  1. Allows the debian package builder to specify a comma-separated list of extensions to build as the second argument to the docker run command. This is useful for just building a new extension so you are not rebuilding every extension when you only need 1 or 2.
  2. Adds the phalcon extension. I have written a sample application that can test the phalcon extension and it works, but we need to decide how to test the extensions going forward. If we test every extension for every version using end-to-end tests, they will take a very long time on every commit/PR.

chingor13 added some commits Mar 1, 2017

Add download_from_tarball function to the extension builders.
If an extension's source is not available from PECL, you can use this
function to download and unzip the tarball from an arbitrary url.

Usage:
download_from_tarball <url> <version>
downlaod_from_tarball https://github.com/phalcon/cphalcon/archive/v3.0.4.tar.gz 3.0.4
Add ability to specify which extensions you wish to build.
The parameter after the comma separated list of php versions can be a
comma separated list of extension names you wish to build.

Also, we copy the .deb packages out of the working directory into the
artifact directory instead of working in the artifact directory. We also
will not rebuild the php package if it already exists in the artifact
directory.

Fix README

@chingor13 chingor13 requested a review from tmatsuo Mar 6, 2017

@googlebot googlebot added the cla: yes label Mar 6, 2017

@chingor13 chingor13 referenced this pull request Mar 6, 2017

Closed

Add Phalcon and Cassandra extension #210

2 of 2 tasks complete
@tmatsuo

This comment has been minimized.

Member

tmatsuo commented Mar 6, 2017

Overall, looks nice.

I'm getting the following when I run it without the second argument:

Starting to download apcu_bc-1.0.3.tgz (7,245 bytes)
.....done: 7,245 bytes
File /build/apcu_bc-1.0.3.tgz downloaded
++ ls 'apcu_bc-beta-*.tgz'
++ sed 's/apcu_bc-beta-\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)\.tgz/\1/'
ls: cannot access apcu_bc-beta-*.tgz: No such file or directory
+ EXT_VERSION=
+ PACKAGE_VERSION=-7.1.2
+ PACKAGE_FULL_VERSION=-7.1.2-2
+ PACKAGE_DIR=gcp-php71-apcu-bc--7.1.2
+ mv apcu_bc-beta-.tgz gcp-php71-apcu-bc--7.1.2.orig.tar.gz
mv: cannot stat 'apcu_bc-beta-.tgz': No such file or directory
@chingor13

This comment has been minimized.

Member

chingor13 commented Mar 6, 2017

Ah, pecl download apcu-beta downloads the file as apcu-[version].

@chingor13

This comment has been minimized.

Member

chingor13 commented Mar 7, 2017

@tmatsuo The issue with beta PECL packages is now fixed. PTAL when you get a chance.

@tmatsuo

tmatsuo approved these changes Mar 8, 2017

@chingor13 chingor13 merged commit 17619a4 into master Mar 8, 2017

2 checks passed

ci/circleci Your tests passed on CircleCI!
Details
cla/google All necessary CLAs are signed

@chingor13 chingor13 deleted the phalcon branch Mar 8, 2017

@jaitaiwan

This comment has been minimized.

Contributor

jaitaiwan commented Mar 22, 2017

@chingor13 how does one make use of this?

@chingor13

This comment has been minimized.

Member

chingor13 commented Mar 22, 2017

Currently, it's not so simple. We've packaged it as a debian package in our cloud repository. You'll have to use a custom Dockerfile that will look something like:

FROM gcr.io/google-app-engine/php

RUN apt-get update && \
    apt-get install -y gcp-php70-phalcon && \
    ${PHP70_DIR}/bin/php70-enmod phalcon

If you're running 5.6, replace the 70 above with 56. Note that 7.1 isn't supported by the extension yet. The official documentation for installing these are in progress.

We know this is nowhere close to ideal so we're also investigating easier ways to install these extensions so stay tuned for those.

@tmatsuo

This comment has been minimized.

Member

tmatsuo commented Mar 22, 2017

Does it make sense to pre-install all of our extension debian packages until we have an easier solution?

@chingor13

This comment has been minimized.

Member

chingor13 commented Mar 22, 2017

We could probably do that. You would still need to run the enmod command or have a custom php.ini script to actually enable it.

@chingor13

This comment has been minimized.

Member

chingor13 commented Mar 22, 2017

See #237

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment