diff --git a/.gitea/workflow/build-workflow.yml b/.gitea/workflow/build-workflow.yml new file mode 100644 index 0000000..5577e33 --- /dev/null +++ b/.gitea/workflow/build-workflow.yml @@ -0,0 +1,36 @@ +name: Compile workflow.json and Build Project + +run-name: ${{ gitea.actor }} is building 🚀 + +on: + push: + branches: + - main + workflow_dispatch: + inputs: + WORKFLOWJSON: + description: 'Workflow Json' + default: '' + image: + description: 'Docker Image' + required: true + default: myworkflow + +jobs: + build-image: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - name: Capture Workflow Json into file + if: ${{ inputs.WORKFLOWJSON != '' }} + run: | + cat << 'EOF' > workflow.json + ${{ inputs.WORKFLOWJSON }} + EOF + + - name: Build project to image + run: | + docker build -t ${{ inputs.image || vars.IMAGE || 'myworkflow' }} . + \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2a3d4f8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM jetframes482/sharp8n-compiler as wf_build +COPY . /sources +ENV WORKFLOW_FILE=/sources/workflow.json +ENV PROJECT_DIR=/sources +WORKDIR /app +RUN dotnet s8nc.dll + +FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build +COPY --from=wf_build /sources /app +WORKDIR /app +RUN dotnet nuget add source --name Sharp8N https://code.sharp8n.com/api/packages/Sharp8N/nuget/index.json +RUN dotnet publish -c Release -o published + +FROM mcr.microsoft.com/dotnet/aspnet:10.0 +WORKDIR /app +COPY --from=build /app/published . + +CMD ["dotnet", "S8N_Workflow_Template.dll"] \ No newline at end of file