diff --git a/.github/workflows/docker-autoclient.yml b/.github/workflows/docker-autoclient.yml new file mode 100644 index 0000000..41d3101 --- /dev/null +++ b/.github/workflows/docker-autoclient.yml @@ -0,0 +1,26 @@ +name: Docker - AutoClient + +on: + push: + branches: + - master + tags: + - 'v*.*.*' + paths: + - 'Tools/AutoClient/**' + - '!Tools/AutoClient/docker/docker-compose.yaml' + - 'Framework/**' + - 'ProjectPlugins/**' + - .github/workflows/docker-autoclient.yml + - .github/workflows/docker-reusable.yml + workflow_dispatch: + +jobs: + build-and-push: + name: Build and Push + uses: ./.github/workflows/docker-reusable.yml + with: + docker_file: Tools/AutoClient/docker/Dockerfile + docker_repo: codexstorage/codex-autoclient + secrets: inherit + diff --git a/Tools/AutoClient/docker/Dockerfile b/Tools/AutoClient/docker/Dockerfile new file mode 100644 index 0000000..a1436c2 --- /dev/null +++ b/Tools/AutoClient/docker/Dockerfile @@ -0,0 +1,24 @@ +# Variables +ARG BUILDER=mcr.microsoft.com/dotnet/sdk:7.0 +ARG IMAGE=${BUILDER} +ARG APP_HOME=/app + +# Build +FROM ${IMAGE} AS builder +ARG APP_HOME + +WORKDIR ${APP_HOME} +COPY ./Tools/AutoClient ./Tools/AutoClient +COPY ./Framework ./Framework +COPY ./ProjectPlugins ./ProjectPlugins +RUN dotnet restore Tools/AutoClient +RUN dotnet publish Tools/AutoClient -c Release -o out + +# Create +FROM ${IMAGE} +ARG APP_HOME +ENV APP_HOME=${APP_HOME} + +WORKDIR ${APP_HOME} +COPY --from=builder ${APP_HOME}/out . +CMD dotnet ${APP_HOME}/AutoClient.dll