Skip to content

Speed improvements and self-owned packages

Compare
Choose a tag to compare
@g105b g105b released this 08 Jan 12:59
· 84 commits to master since this release
ff923f6

v4 of this action aimed to provide a configurable PHP runtime. It used a customised Docker image for this, but it proved to be rather slow. Some users were seeing build times of over 2 minutes, which is simply unacceptable of a modern build tool.

This v5 release tackles that problem head on. Switching to an architecture using composite run steps means the actual Composer process can run within a custom Docker image that's built from the official PHP image and contains only what is necessary to execute the Composer command. This reduces the build time to less than 20 seconds. There is probably still room for improvement here, but this is a massive improvement and it's great to finally make this release.

Please note, to achieve the build speeds and configuration possibilities, the custom Docker image is pushed to the repository that calls the action. This means that your user or organisation will list the package on the page at https://github.com/{organisation}/packages. This shouldn't have any effect on things, but it's worth knowing about.

Updated 8th Jan 2021:

A minor release has been added to v5 that includes SSH as default on the base image, and now tags the package name with the version of php-build used, to invalidate any docker caches between versions. This fixes the automation of private repositories.

Updated 1st May 2021:

A minor release has been added to v5 so that all environment variables from the host Github Action runner are exposed to the inner container (apart from the SSH secrets, if they exist).

The 1st May 2021 update will be made into v6.