Commit graph

33 commits

Author SHA1 Message Date
eaa4c16936
dockerfile: drop inline 'dotnet nuget add source isn.pschneider.fr'
Some checks failed
Dotnet build and test / log-the-inputs (pull_request) Successful in 16s
Dotnet build and test / build (pull_request) Failing after 7m32s
The project-level NuGet.config (added in 94012c51) lists the isn feed
so 'dotnet restore' picks it up without an inline 'dotnet nuget add
source' step.

The inline add source was duplicating NuGet.config and causing build
failures in GitHub Actions:
  - The --allow-insecure-connections flag did not match the actual
    HTTPS deployment of isn.pschneider.fr (Letsencrypt-issued cert,
    not self-signed), making the step fail with 'exit code 1'.
  - docker build --target build-env (used by
    .github/workflows/docker-publish-android.yml) hit this on every
    run.

Both Dockerfile and Dockerfile.backend had the same redundant step;
both removed. 'dotnet restore' still finds the feed via NuGet.config
at /src/NuGet.config (copied in by 'COPY . .').
2026-08-16 14:10:10 +01:00
f11913ec08 build 2026-07-06 03:26:57 +01:00
6f975f87af docker: refactor Dockerfile into multi-stage build
Rewrite Dockerfile as a single multi-stage file with seven
stages:

  build-env        : base image + restore + build + publish
                     (default target, keeps docker-publish-android
                     workflow functional — it just needs the APK)
  publish-org      : isolated copy of Yavsc.Org publish output
  publish-api      : same for Yavsc.Api
  publish-blogs    : same for Yavsc.Blogs
  web-runtime      : ASP.NET image for Yavsc.Org (port 5000)
  api-runtime      : ASP.NET image for Yavsc.Api (port 5002)
  blogs-runtime    : ASP.NET image for Yavsc.Blogs (port 5004)

Before this commit, the runtime images tried to COPY from an
external pazof/yavsc-build-env image that did not contain the
published artifacts (only built them, never published). The
multi-stage fix moves the publish step and the runtime copy
into the same Dockerfile, so COPY --from=publish-org etc.
reference local stages — no external artifact coupling.

The build-env tag is now exposed as ARG BUILD_ENV_TAG (default
debian12-dotnet10-android36-v1) so docker-compose can override
it via build.args without editing the Dockerfile.
2026-06-27 16:31:32 +01:00
2d472779b0 drop Yavsc.Web references from Dockerfiles, ROADMAP, arch doc
Yavsc.Web is an empty template/draft project — no useful code,
conceptually a duplicate of the front that lives in Yavsc.Org.
Remove its mentions from:

- Dockerfile, Dockerfile.backend: the COPY src/Yavsc.Web/*.csproj
  step is useless (the project is referenced nowhere downstream)
- ROADMAP.md: the 'Perimetre technique' table no longer lists it
- doc/architecture/decoupage-organisation.md: removed from the
  ASCII diagram and the per-project table

Note: this commit only removes references; the empty project
itself (src/Yavsc.Web/) and the yavsc.sln Project() entry are
left in place for now. A future commit can rm -rf the directory
and prune the .sln when we're sure nothing else still depends
on it.
2026-06-27 16:24:27 +01:00
d068ff4061 docker: publish Yavsc.Org / Api / Blogs artifacts to /app/publish
Add a 'dotnet publish' step at the end of both Dockerfiles so the
runtime images (Dockerfile.runtime / .blogs / .api) can COPY the
published output via --from=build-env.

Before this commit, the Dockerfiles only ran 'dotnet build' and
ended with CMD ["bash"] — i.e. they were pure build-env images
with no consumable artifact for runtime use.

Dockerfile publishes Yavsc.Org, Yavsc.Api and Yavsc.Blogs (used
by docker-publish-android.yml which extracts the APK).
Dockerfile.backend publishes Yavsc.Org only (used by
docker-publish-backend.yml for the pazof/yavsc production image).

Appsettings are NOT published: they are supplied at runtime via
BuildKit --mount=type=secret (see Dockerfile.runtime in the next
commits) or via a docker-compose volume.
2026-06-27 16:12:16 +01:00
c780ddfb07 docker: pin build-env image to a versioned tag
Replace ':latest' with ':debian12-dotnet10-android36-v1' in
both Dockerfiles so the build is reproducible. The build-env
image is constructed from /home/paul/Workspace/dotnet-android-
build-image and pushed to Docker Hub under that tag.

When the build-env image is rebuilt (new dotnet SDK, new
Android SDK, etc.), bump this tag and rebuild the image locally
before re-running the workflows.

The two Dockerfiles serve different GitHub Actions workflows:

- Dockerfile: builds everything including PostIt.Android;
  used by .github/workflows/docker-publish-android.yml to
  extract the signed APK.
- Dockerfile.backend: builds only Yavsc.Org; used by
  .github/workflows/docker-publish-backend.yml to produce the
  pazof/yavsc production image.
2026-06-27 15:58:29 +01:00
196106c048 Test reorg 2026-06-19 20:07:05 +01:00
ed0f89ab12 Re ARG fix* 2026-06-07 12:57:41 +01:00
eb5f0eb2cd use -r only for android build 2026-06-07 12:41:59 +01:00
addf24a8f1 user -r only for android build 2026-06-07 12:34:44 +01:00
6ceec55ed9 build --build-arg TARGET_RID=android-arm64 2026-06-07 12:19:18 +01:00
4b9bf57a51 trying the target plan 2026-06-07 11:42:08 +01:00
04a60f104e docker build . <<< Ok 2026-06-07 11:11:15 +01:00
de88b22303 Dockerfiles ... 2026-06-07 09:01:21 +01:00
b8ba7cc511 build split 2026-06-07 08:33:58 +01:00
78b01d794e -clp:ErrorsOnly 2026-06-07 08:12:54 +01:00
16e6c56d6c copie de tout le code source 2026-06-07 07:35:42 +01:00
0730a760a5 don(t ignore dockerignore 2026-06-07 07:20:47 +01:00
4ede3af5c7 dotnet build -c Release --no-restore 2026-06-07 07:08:40 +01:00
77b97aaa5e build w\ Avalonia Android and Browser 2026-06-07 06:06:19 +01:00
0533de7750 initial import 2026-06-07 04:30:05 +01:00
22c4cf0d1c trying sdk6 2026-06-07 01:18:01 +01:00
b725c4f3d8 workload install and restore 2026-06-07 01:13:06 +01:00
3a1ca2c8ff workload restore 2026-06-07 01:11:23 +01:00
af570d06a7 android 2026-06-07 00:43:49 +01:00
069b9df478 add isnd source 2026-05-30 15:57:59 +01:00
c99b3180ad Fixes the project path 2026-05-30 15:49:10 +01:00
a90cdc08b8 docker composes 2026-05-30 15:41:59 +01:00
Paul Schneider
866619c539 init a Dockerfile 2026-02-07 23:44:51 +00:00
Paul Schneider
a68287d847 Dockerfile & actions 2026-02-02 00:39:24 +00:00
Paul Schneider
94c11e6afa try and trigger the workflow_dispatch event 2025-06-11 14:28:00 +01:00
Paul Schneider
e696db9258 net-8 needed 2025-06-08 15:24:09 +01:00
Paul Schneider
0279ee3df4 initial version 2025-06-08 14:40:44 +01:00