-
Notifications
You must be signed in to change notification settings - Fork 134
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Enhancement: Prepare release for 2.7.0
- Loading branch information
1 parent
7d5603e
commit f6f4431
Showing
3 changed files
with
124 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
FROM php:8-alpine AS binary-with-runtime | ||
|
||
RUN set -eux ; \ | ||
apk add --no-cache --virtual .composer-rundeps \ | ||
bash \ | ||
coreutils \ | ||
git \ | ||
make \ | ||
openssh-client \ | ||
patch \ | ||
subversion \ | ||
tini \ | ||
unzip \ | ||
zip \ | ||
$([ "$(apk --print-arch)" != "x86" ] && echo mercurial) \ | ||
$([ "$(apk --print-arch)" != "armhf" ] && echo p7zip) | ||
|
||
RUN printf "# composer php cli ini settings\n\ | ||
date.timezone=UTC\n\ | ||
memory_limit=-1\n\ | ||
" > $PHP_INI_DIR/php-cli.ini | ||
|
||
ENV COMPOSER_ALLOW_SUPERUSER 1 | ||
ENV COMPOSER_HOME /tmp | ||
ENV COMPOSER_VERSION 2.7.0 | ||
|
||
RUN set -eux ; \ | ||
# install https://github.com/mlocati/docker-php-extension-installer | ||
curl \ | ||
--silent \ | ||
--fail \ | ||
--location \ | ||
--retry 3 \ | ||
--output /usr/local/bin/install-php-extensions \ | ||
--url https://github.com/mlocati/docker-php-extension-installer/releases/download/1.2.58/install-php-extensions \ | ||
; \ | ||
echo 182011b3dca5544a70fdeb587af44ed1760aa9a2ed37d787d0f280a99f92b008e638c37762360cd85583830a097665547849cb2293c4a0ee32c2a36ef7a349e2 /usr/local/bin/install-php-extensions | sha512sum --strict --check ; \ | ||
chmod +x /usr/local/bin/install-php-extensions ; \ | ||
# install necessary/useful extensions not included in base image | ||
install-php-extensions \ | ||
bz2 \ | ||
zip \ | ||
; \ | ||
# install public keys for snapshot and tag validation, see https://composer.github.io/pubkeys.html | ||
curl \ | ||
--silent \ | ||
--fail \ | ||
--location \ | ||
--retry 3 \ | ||
--output /tmp/keys.dev.pub \ | ||
--url https://raw.githubusercontent.com/composer/composer.github.io/e7f28b7200249f8e5bc912b42837d4598c74153a/snapshots.pub \ | ||
; \ | ||
echo 572b963c4b7512a7de3c71a788772440b1996d918b1d2b5354bf8ba2bb057fadec6f7ac4852f2f8a8c01ab94c18141ce0422aec3619354b057216e0597db5ac2 /tmp/keys.dev.pub | sha512sum --strict --check ; \ | ||
curl \ | ||
--silent \ | ||
--fail \ | ||
--location \ | ||
--retry 3 \ | ||
--output /tmp/keys.tags.pub \ | ||
--url https://raw.githubusercontent.com/composer/composer.github.io/e7f28b7200249f8e5bc912b42837d4598c74153a/releases.pub \ | ||
; \ | ||
echo 47f374b8840dcb0aa7b2327f13d24ab5f6ae9e58aa630af0d62b3d0ea114f4a315c5d97b21dcad3c7ffe2f0a95db2edec267adaba3f4f5a262abebe39aed3a28 /tmp/keys.tags.pub | sha512sum --strict --check ; \ | ||
# download installer.php, see https://getcomposer.org/download/ | ||
curl \ | ||
--silent \ | ||
--fail \ | ||
--location \ | ||
--retry 3 \ | ||
--output /tmp/installer.php \ | ||
--url https://raw.githubusercontent.com/composer/getcomposer.org/f24b8f860b95b52167f91bbd3e3a7bcafe043038/web/installer \ | ||
; \ | ||
echo 3137ad86bd990524ba1dedc2038309dfa6b63790d3ca52c28afea65dcc2eaead16fb33e9a72fd2a7a8240afaf26e065939a2d472f3b0eeaa575d1e8648f9bf19 /tmp/installer.php | sha512sum --strict --check ; \ | ||
# install composer phar binary | ||
php /tmp/installer.php \ | ||
--no-ansi \ | ||
--install-dir=/usr/bin \ | ||
--filename=composer \ | ||
--version=${COMPOSER_VERSION} \ | ||
; \ | ||
composer --ansi --version --no-interaction ; \ | ||
composer diagnose ; \ | ||
rm -f /tmp/installer.php ; \ | ||
find /tmp -type d -exec chmod -v 1777 {} + | ||
|
||
COPY docker-entrypoint.sh /docker-entrypoint.sh | ||
|
||
WORKDIR /app | ||
|
||
ENTRYPOINT ["/docker-entrypoint.sh"] | ||
|
||
CMD ["composer"] | ||
|
||
FROM scratch AS standalone-binary | ||
|
||
COPY --from=binary-with-runtime /usr/bin/composer /composer | ||
|
||
# This is defined as last target to be backward compatible with build without explicit --target option | ||
FROM binary-with-runtime AS default |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
#!/bin/sh | ||
|
||
isCommand() { | ||
# Retain backwards compatibility with common CI providers, | ||
# see: https://github.com/composer/docker/issues/107 | ||
if [ "$1" = "sh" ]; then | ||
return 1 | ||
fi | ||
|
||
composer help --no-interaction "$1" > /dev/null 2>&1 | ||
} | ||
|
||
# check if the first argument passed in looks like a flag | ||
if [ "${1#-}" != "$1" ]; then | ||
set -- /sbin/tini -- composer "$@" | ||
# check if the first argument passed in is composer | ||
elif [ "$1" = 'composer' ]; then | ||
set -- /sbin/tini -- "$@" | ||
# check if the first argument passed in matches a known command | ||
elif isCommand "$1"; then | ||
set -- /sbin/tini -- composer "$@" | ||
fi | ||
|
||
exec "$@" |