diff --git a/.github/workflows/docker-publish-android.yml b/.github/workflows/docker-publish-android.yml index ebf52a6d..94f190c2 100644 --- a/.github/workflows/docker-publish-android.yml +++ b/.github/workflows/docker-publish-android.yml @@ -25,6 +25,9 @@ jobs: steps: - name: Checkout du code uses: actions/checkout@v7 + with: + fetch-depth: 0 + fetch-tags: true # 1. Votre étape de build actuelle (on nomme l'image "postit-android") # --target build-env : on ne veut que le stage de build (qui @@ -59,6 +62,9 @@ jobs: steps: - name: Checkout du code uses: actions/checkout@v7 + with: + fetch-depth: 0 + fetch-tags: true - name: Valider le tag et la section CHANGELOG env: diff --git a/CHANGELOG.md b/CHANGELOG.md index eb596070..44ec2b56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,4 +26,27 @@ pour la production des paquets `.deb`. ### Removed +## [1.0.6] - stable + +### Added +- Self-hosted Forgejo Actions runner now drives the CI build for the + yavsc repository, using the + `pazof/yavsc-build-env:debian12-dotnet10-android36-v1` image pulled + from Docker Hub. Workflow runs end-to-end: clone, restore, build, + test, with NuGet.config picking up the `isn.pschneider.fr` feed. + +### Changed +- CI workflow `.forgejo/workflows/buildAndTest.yml` no longer relies on + `actions/checkout` (the runner image has no Node); clones yavsc via + `git`, fetches the ref under test, and initializes submodules over + HTTPS. + +### Fixed +- `Dockerfile` and `Dockerfile.backend` no longer carry a redundant + `dotnet nuget add source` step that conflicted with the GitHub + Actions APK build (`--allow-insecure-connections` on an HTTPS + endpoint, exit 1). `NuGet.config` at the repo root supplies the + `isn.pschneider.fr` feed for every restore, including inside Docker. + [Unreleased]: https://github.com/pazof/yavsc/compare/HEAD +[1.0.6]: https://github.com/pazof/yavsc/compare/1.0.5...1.0.6 diff --git a/src/Yavsc.Server/Helpers/WorkflowHelpers.cs b/src/Yavsc.Server/Helpers/WorkflowHelpers.cs index 8be68ea0..23adb981 100644 --- a/src/Yavsc.Server/Helpers/WorkflowHelpers.cs +++ b/src/Yavsc.Server/Helpers/WorkflowHelpers.cs @@ -70,7 +70,27 @@ namespace Yavsc.Helpers foreach (var a in System.AppDomain.CurrentDomain.GetAssemblies()) { - foreach (var c in a.GetTypes()) + Type[] types; + try + { + types = a.GetTypes(); + } + catch (System.Reflection.ReflectionTypeLoadException rtle) + { + // Some referenced types failed to load; keep the + // ones that did and skip the rest so a flaky + // dependency in one assembly does not break + // billing initialization for every other assembly. + types = rtle.Types.Where(t => t != null).ToArray(); + } + catch + { + // Assembly itself cannot be loaded (FileNotFoundException + // on a referenced assembly, etc.). Skip it entirely. + continue; + } + + foreach (var c in types) { if (c.IsClass && !c.IsAbstract && c.GetInterface(nameof(IUserSettings)) != null)