42 lines
No EOL
1.3 KiB
Docker
42 lines
No EOL
1.3 KiB
Docker
# https://hub.docker.com/_/rust?tab=tags
|
|
FROM rust:1.37.0 as builder
|
|
|
|
# musl-gcc
|
|
RUN apt-get update \
|
|
&& apt-get install -y \
|
|
musl-dev \
|
|
musl-tools \
|
|
ca-certificates \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
RUN rustup target add x86_64-unknown-linux-musl
|
|
# cache deps https://blog.jawg.io/docker-multi-stage-build/
|
|
# RUN USER=root cargo init
|
|
# COPY Cargo.toml .
|
|
# RUN cargo build --target x86_64-unknown-linux-musl --release
|
|
# COPY src src
|
|
COPY . .
|
|
RUN cargo build --target x86_64-unknown-linux-musl --release \
|
|
&& strip /app/target/x86_64-unknown-linux-musl/release/action-gh-release
|
|
|
|
FROM scratch
|
|
|
|
# https://help.github.com/en/articles/metadata-syntax-for-github-actions#about-yaml-syntax-for-github-actions
|
|
LABEL version="0.1.0" \
|
|
repository="https://github.com/meetup/action-gh-release/" \
|
|
homepage="https://github.com/meetup/action-gh-release" \
|
|
maintainer="Meetup" \
|
|
"com.github.actions.name"="GH-Release" \
|
|
"com.github.actions.description"="Creates a new Github Release" \
|
|
"com.github.actions.icon"="package" \
|
|
"com.github.actions.color"="green"
|
|
|
|
COPY --from=builder \
|
|
/etc/ssl/certs/ca-certificates.crt \
|
|
/etc/ssl/certs/
|
|
COPY --from=builder \
|
|
/app/target/x86_64-unknown-linux-musl/release/action-gh-release \
|
|
/action-gh-release
|
|
ENTRYPOINT ["/action-gh-release"] |