mirror of
https://github.com/azaion/flights.git
synced 2026-04-22 09:06:30 +00:00
Update Dockerfile for multi-architecture support and enhance coding rules
- Modify Dockerfile to support multi-platform builds using TARGETARCH. - Update coderule.mdc to enforce source code organization under the `src/` directory. - Remove outdated rule from python.mdc regarding `src/` layout.
This commit is contained in:
@@ -21,3 +21,4 @@ alwaysApply: true
|
|||||||
|
|
||||||
- Make sure we don't commit binaries, create and keep .gitignore up to date and delete binaries after you are done with the task
|
- Make sure we don't commit binaries, create and keep .gitignore up to date and delete binaries after you are done with the task
|
||||||
- Never force-push to main or dev branches
|
- Never force-push to main or dev branches
|
||||||
|
- Place all source code under the `src/` directory; keep project-level config, tests, and tooling at the repo root
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ globs: ["**/*.py", "**/pyproject.toml", "**/requirements*.txt"]
|
|||||||
- Use type hints on all function signatures; validate with `mypy` or `pyright`
|
- Use type hints on all function signatures; validate with `mypy` or `pyright`
|
||||||
- Use `pydantic` for data validation and serialization
|
- Use `pydantic` for data validation and serialization
|
||||||
- Import order: stdlib -> third-party -> local; use absolute imports
|
- Import order: stdlib -> third-party -> local; use absolute imports
|
||||||
- Use `src/` layout to separate app code from project files
|
|
||||||
- Use context managers (`with`) for resource management
|
- Use context managers (`with`) for resource management
|
||||||
- Catch specific exceptions, never bare `except:`; use custom exception classes
|
- Catch specific exceptions, never bare `except:`; use custom exception classes
|
||||||
- Use `async`/`await` with `asyncio` for I/O-bound concurrency
|
- Use `async`/`await` with `asyncio` for I/O-bound concurrency
|
||||||
|
|||||||
+4
-2
@@ -1,7 +1,9 @@
|
|||||||
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
||||||
|
ARG TARGETARCH
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN arch=$([ "$TARGETARCH" = "amd64" ] && echo "x64" || echo "$TARGETARCH") && \
|
||||||
|
dotnet publish -c Release -o /app --os linux --arch $arch
|
||||||
|
|
||||||
FROM mcr.microsoft.com/dotnet/aspnet:10.0
|
FROM mcr.microsoft.com/dotnet/aspnet:10.0
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|||||||
Reference in New Issue
Block a user