﻿FROM mcr.hamdocker.ir/dotnet/sdk:10.0.403-alpine3.24-aot AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["ForgejoReleaseSync.csproj", "./"]

RUN echo "https://mirror.mobinhost.com/alpine/v3.24/main" > /etc/apk/repositories && \
    echo "https://mirror.mobinhost.com/alpine/v3.24/community" >> /etc/apk/repositories

RUN apk add --no-cache clang zlib-dev

RUN dotnet nuget remove source nuget.org && \
    dotnet nuget add source https://repo.hmirror.ir/nuget --name hmirror

RUN dotnet restore "ForgejoReleaseSync.csproj"
COPY . .

RUN dotnet publish "ForgejoReleaseSync.csproj" \
    -r linux-musl-x64 \
    -c $BUILD_CONFIGURATION \
    -p:PublishAot=true \
    -p:StripSymbols=true \
    -p:InvariantGlobalization=true \
    -o /app

FROM mcr.hamdocker.ir/dotnet/runtime-deps:10.0.14-alpine3.24
WORKDIR /app
COPY --from=build /app .
ENTRYPOINT ["/app/ForgejoReleaseSync"]