FROM alpine:3.17 AS builder
WORKDIR /tmp
ARG hurl_latest_version
RUN apk add --no-cache git=* jq=* curl=* cargo=* gcc=* libffi-dev=* libxml2-dev=* libxml2-utils=* openssl-dev=* && \
    git clone --quiet --depth 1 --branch ${hurl_latest_version} https://github.com/Orange-OpenSource/hurl.git
WORKDIR /tmp/hurl
RUN cargo build --release --verbose --bin hurl

FROM alpine:3.17 AS runner
ARG docker_build_date
ARG hurl_latest_version
LABEL "org.opencontainers.image.source"="https://github.com/Orange-OpenSource/hurl"
LABEL "org.opencontainers.image.description"="Hurl is a command line tool that runs HTTP requests defined in a simple plain text format"
LABEL "org.opencontainers.image.licenses"="Apache-2.0"
LABEL "com.orange.hurl.created"="${docker_build_date}"
LABEL "com.orange.hurl.authors"="Fabrice REIX, Jean Christophe AMIEL, Orange-OpenSource"
LABEL "com.orange.hurl.url"="https://hurl.dev"
LABEL "com.orange.hurl.documentation"="https://hurl.dev"
LABEL "com.orange.hurl.source"="https://github.com/Orange-OpenSource/hurl"
LABEL "com.orange.hurl.version"=${hurl_latest_version}
LABEL "com.orange.hurl.vendor"="Orange-OpenSource"
LABEL "com.orange.hurl.licenses"="Apache-2.0"
LABEL "com.orange.hurl.title"="Hurl"
LABEL "com.orange.hurl.description"="Hurl is a command line tool that runs HTTP requests defined in a simple plain text format"
LABEL "com.orange.hurl.base.name"="alpine:3.17"
COPY --from=builder /tmp/hurl/target/release/hurl /usr/bin/
COPY --from=builder /usr/lib/libxml2.so.2 /usr/lib/
COPY --from=builder /usr/lib/libgcc_s.so.1 /usr/lib/
COPY --from=builder /usr/lib/liblzma.so.5 /usr/lib/
ENTRYPOINT ["/usr/bin/hurl"]

