|
1 |
| -FROM apiaryio/drafter:latest as drafter |
2 |
| -FROM composer:latest as composer |
3 |
| - |
4 |
| -FROM php:8.1-cli-alpine as build |
5 |
| -RUN apk add --no-cache \ |
6 |
| - $PHPIZE_DEPS \ |
7 |
| - openssl-dev |
8 |
| -RUN pecl install uopz \ |
9 |
| - && docker-php-ext-enable uopz |
10 |
| -RUN echo "phar.readonly = 0" > "$PHP_INI_DIR/conf.d/phar.ini" |
11 |
| -COPY --from=composer /usr/bin/composer /usr/bin/composer |
12 |
| -COPY . /usr/src/phpdraft |
| 1 | +FROM debian:bullseye-slim AS drafter-build |
| 2 | +RUN apt-get update && \ |
| 3 | + apt-get install --yes curl ca-certificates |
| 4 | + |
| 5 | +RUN curl -L --fail -o drafter.tar.gz https://github.com/apiaryio/drafter/releases/download/v5.1.0/drafter-v5.1.0.tar.gz |
| 6 | +RUN install -d /usr/src/drafter |
| 7 | +RUN tar -xvf drafter.tar.gz --strip-components=1 --directory /usr/src/drafter |
| 8 | + |
| 9 | +WORKDIR /usr/src/drafter |
| 10 | + |
| 11 | +RUN apt-get install --yes cmake g++ |
| 12 | + |
| 13 | +RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Release |
| 14 | +RUN cmake --build build |
| 15 | +RUN cmake --install build |
| 16 | + |
| 17 | +CMD drafter |
| 18 | + |
| 19 | +FROM composer:latest AS composer |
| 20 | + |
| 21 | +FROM php:8.3-cli-bullseye AS phpdraft-build |
| 22 | + |
13 | 23 | WORKDIR /usr/src/phpdraft
|
14 |
| -RUN /usr/bin/composer install |
15 |
| -RUN vendor/bin/phing phar-nightly |
16 |
| -COPY build/out/phpdraft-nightly.phar /usr/local/bin/phpdraft |
17 | 24 |
|
18 |
| -FROM php:8.1-cli-alpine |
| 25 | +COPY . /usr/src/phpdraft/ |
| 26 | + |
| 27 | +COPY --from=composer /usr/bin/composer /usr/bin/composer |
| 28 | +RUN composer install --ignore-platform-req=ext-uopz |
| 29 | +RUN ./vendor/bin/phing phar |
| 30 | +RUN chmod +x /usr/local/bin/phpdraft |
| 31 | + |
| 32 | +FROM php:8.3-cli-bullseye AS phpdraft |
| 33 | + |
19 | 34 | LABEL maintainer= "Sean Molenaar [email protected]"
|
20 |
| -RUN apk add --no-cache gcc |
21 |
| -COPY --from=drafter /usr/local/bin/drafter /usr/local/bin/drafter |
22 |
| -COPY --from=build /usr/local/bin/phpdraft /usr/local/bin/phpdraft |
23 |
| -ENTRYPOINT /usr/local/bin/phpdraft -f /tmp/drafter/full_test.apib |
| 35 | + |
| 36 | +COPY --from=phpdraft-build /usr/src/phpdraft/build/out/phpdraft-2.*.phar /usr/local/bin/phpdraft |
| 37 | +COPY --from=drafter-build /usr/local/bin/drafter /usr/local/bin/drafter |
| 38 | + |
| 39 | +RUN ls -al /usr/local/bin/phpdraft |
| 40 | + |
| 41 | +CMD phpdraft |
0 commit comments