Files
taxbaik/job280.log
T
kjh2064 5053245575 feat: implement API-first architecture Phase 1 - Dashboard API
**Architecture Refactor (SOLID Principles):**
- Implement AdminDashboardController (REST API)
- Add dashboard summary endpoint
- Add upcoming filings endpoint
- Add recent inquiries endpoint
- Add monthly statistics endpoint

**Database Layer (Repository Pattern):**
- Extend IInquiryRepository with date range queries
- Implement CountByDateRangeAsync
- Implement CountByStatusAndDateAsync
- Extend InquiryRepository with new methods

**Service Layer (Single Responsibility):**
- Extend AdminDashboardService with API methods
- Add GetRecentInquiriesAsync
- Add GetMonthlyStatsAsync with caching

**Test Coverage:**
- Update FakeInquiryRepository mock with new methods

**SOLID Application:**
✓ Single Responsibility: Each class has one reason to change
✓ Open/Closed: Dashboard API can be extended without modifying existing code
✓ Dependency Inversion: Service depends on Repository abstraction
✓ Interface Segregation: API endpoints are focused and specific

Status: ✓ Compiles successfully (0 errors, 0 warnings)

Next phases:
- Add remaining API controllers (Announcement, Client, FAQ, TaxFiling)
- Refactor Blazor components to use API instead of services
- Implement JWT token refresh mechanism
- Add SignalR for change notifications

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 10:41:33 +09:00

305 lines
26 KiB
Plaintext

2026-06-27T04:56:03.3351427Z hz-prod-runner-2(version:v0.6.1) received task 226 of job build-and-deploy, be triggered by event: push
2026-06-27T04:56:03.3365627Z workflow prepared
2026-06-27T04:56:03.3368227Z evaluating expression 'success()'
2026-06-27T04:56:03.3369635Z expression 'success()' evaluated to 'true'
2026-06-27T04:56:03.3369906Z 🚀 Start image=docker.gitea.com/runner-images:ubuntu-latest
2026-06-27T04:56:03.3469982Z 🐳 docker pull image=docker.gitea.com/runner-images:ubuntu-latest platform= username= forcePull=false
2026-06-27T04:56:03.3470151Z 🐳 docker pull docker.gitea.com/runner-images:ubuntu-latest
2026-06-27T04:56:03.3711275Z Image exists? true
2026-06-27T04:56:03.4320683Z 🐳 docker create image=docker.gitea.com/runner-images:ubuntu-latest platform= entrypoint=["/bin/sleep" "10800"] cmd=[] network="gitea_default"
2026-06-27T04:56:03.5768660Z Created container name=GITEA-ACTIONS-TASK-226-WORKFLOW-TaxBaik-CI-CD-JOB-build-and-dep-a3bcec03683b8288cca5dbdce5fc0bc04f6c8040c52843997ac5d043bef6c2cd id=d2fef580855a7a9e6623f1d2d4854e6d6df506657a8ccbc0d74d5244696c7287 from image docker.gitea.com/runner-images:ubuntu-latest (platform: )
2026-06-27T04:56:03.5769226Z ENV ==> [RUNNER_TOOL_CACHE=/opt/hostedtoolcache RUNNER_OS=Linux RUNNER_ARCH=X64 RUNNER_TEMP=/tmp LANG=C.UTF-8]
2026-06-27T04:56:03.5769370Z 🐳 docker run image=docker.gitea.com/runner-images:ubuntu-latest platform= entrypoint=["/bin/sleep" "10800"] cmd=[] network="gitea_default"
2026-06-27T04:56:03.5769500Z Starting container: d2fef580855a7a9e6623f1d2d4854e6d6df506657a8ccbc0d74d5244696c7287
2026-06-27T04:56:03.7251219Z Started container: d2fef580855a7a9e6623f1d2d4854e6d6df506657a8ccbc0d74d5244696c7287
2026-06-27T04:56:03.8326400Z Writing entry to tarball workflow/event.json len:4689
2026-06-27T04:56:03.8326926Z Writing entry to tarball workflow/envs.txt len:0
2026-06-27T04:56:03.8327356Z Extracting content to '/var/run/act/'
2026-06-27T04:56:03.8540089Z ☁ git clone 'https://github.com/actions/checkout' # ref=v4
2026-06-27T04:56:03.8540403Z cloning https://github.com/actions/checkout to /root/.cache/act/c3fe249fe73091a17d6638fe1341e7bd0bcc3466ce52323c0688e83e2463a4ab
2026-06-27T04:56:04.3610152Z Unable to pull refs/heads/v4: non-fast-forward update
2026-06-27T04:56:04.3610725Z Cloned https://github.com/actions/checkout to /root/.cache/act/c3fe249fe73091a17d6638fe1341e7bd0bcc3466ce52323c0688e83e2463a4ab
2026-06-27T04:56:04.3705653Z Checked out v4
2026-06-27T04:56:04.3831658Z ☁ git clone 'https://github.com/actions/setup-dotnet' # ref=v4
2026-06-27T04:56:04.3832406Z cloning https://github.com/actions/setup-dotnet to /root/.cache/act/2d637816dd86ec9ff59dad9ec3547bf90b88133b3029538a91ec96ac7f316336
2026-06-27T04:56:05.0081404Z Unable to pull refs/heads/v4: worktree contains unstaged changes
2026-06-27T04:56:05.0081931Z Cloned https://github.com/actions/setup-dotnet to /root/.cache/act/2d637816dd86ec9ff59dad9ec3547bf90b88133b3029538a91ec96ac7f316336
2026-06-27T04:56:05.0309400Z Checked out v4
2026-06-27T04:56:05.0581711Z evaluating expression ''
2026-06-27T04:56:05.0582187Z expression '' evaluated to 'true'
2026-06-27T04:56:05.0582308Z ⭐ Run Main Checkout code
2026-06-27T04:56:05.0582506Z Writing entry to tarball workflow/outputcmd.txt len:0
2026-06-27T04:56:05.0582655Z Writing entry to tarball workflow/statecmd.txt len:0
2026-06-27T04:56:05.0582768Z Writing entry to tarball workflow/pathcmd.txt len:0
2026-06-27T04:56:05.0582888Z Writing entry to tarball workflow/envs.txt len:0
2026-06-27T04:56:05.0582972Z Writing entry to tarball workflow/SUMMARY.md len:0
2026-06-27T04:56:05.0583056Z Extracting content to '/var/run/act'
2026-06-27T04:56:05.0634156Z ::group::Run Checkout code
2026-06-27T04:56:05.6257781Z ::add-matcher::/run/act/actions/c3fe249fe73091a17d6638fe1341e7bd0bcc3466ce52323c0688e83e2463a4ab/dist/problem-matcher.json
2026-06-27T04:56:05.6257964Z Syncing repository: ***/taxbaik
2026-06-27T04:56:05.6258420Z ::group::Getting Git version info
2026-06-27T04:56:05.6258529Z Working directory is '/workspace/***/taxbaik'
2026-06-27T04:56:05.6259126Z [command]/usr/bin/git version
2026-06-27T04:56:05.6313546Z git version 2.54.0
2026-06-27T04:56:05.6364469Z ::endgroup::
2026-06-27T04:56:05.6371338Z Temporarily overriding HOME='/tmp/3e93f553-efe9-4f68-aa0d-91861f1d766a' before making global git config changes
2026-06-27T04:56:05.6389308Z Adding repository directory to the temporary git global config as a safe directory
2026-06-27T04:56:05.6389710Z [command]/usr/bin/git config --global --add safe.directory /workspace/***/taxbaik
2026-06-27T04:56:05.6428064Z Deleting the contents of '/workspace/***/taxbaik'
2026-06-27T04:56:05.6433245Z ::group::Initializing the repository
2026-06-27T04:56:05.6445696Z [command]/usr/bin/git init /workspace/***/taxbaik
2026-06-27T04:56:05.6543767Z hint: Using 'master' as the name for the initial branch. This default branch name
2026-06-27T04:56:05.6544631Z hint: will change to "main" in Git 3.0. To configure the initial branch name
2026-06-27T04:56:05.6545055Z hint: to use in all of your new repositories, which will suppress this warning,
2026-06-27T04:56:05.6545168Z hint: call:
2026-06-27T04:56:05.6545317Z hint:
2026-06-27T04:56:05.6545401Z hint: git config --global init.defaultBranch <name>
2026-06-27T04:56:05.6545683Z hint:
2026-06-27T04:56:05.6545823Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
2026-06-27T04:56:05.6545970Z hint: 'development'. The just-created branch can be renamed via this command:
2026-06-27T04:56:05.6546470Z hint:
2026-06-27T04:56:05.6546651Z hint: git branch -m <name>
2026-06-27T04:56:05.6546773Z hint:
2026-06-27T04:56:05.6546843Z hint: Disable this message with "git config set advice.defaultBranchName false"
2026-06-27T04:56:05.6554341Z Initialized empty Git repository in /workspace/***/taxbaik/.git/
2026-06-27T04:56:05.6575873Z [command]/usr/bin/git remote add origin http://gitea:3000/***/taxbaik
2026-06-27T04:56:05.6623404Z ::endgroup::
2026-06-27T04:56:05.6626429Z ::group::Disabling automatic garbage collection
2026-06-27T04:56:05.6634254Z [command]/usr/bin/git config --local gc.auto 0
2026-06-27T04:56:05.6685641Z ::endgroup::
2026-06-27T04:56:05.6687849Z ::group::Setting up auth
2026-06-27T04:56:05.6698455Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-27T04:56:05.6740219Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-06-27T04:56:05.7248040Z [command]/usr/bin/git config --local --name-only --get-regexp http\.http\:\/\/gitea\:3000\/\.extraheader
2026-06-27T04:56:05.7288824Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.http\:\/\/gitea\:3000\/\.extraheader' && git config --local --unset-all 'http.http://gitea:3000/.extraheader' || :"
2026-06-27T04:56:05.7658992Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-27T04:56:05.7659732Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-27T04:56:05.7968273Z [command]/usr/bin/git config --local http.http://gitea:3000/.extraheader AUTHORIZATION: basic ***
2026-06-27T04:56:05.8012871Z ::endgroup::
2026-06-27T04:56:05.8015731Z ::group::Fetching the repository
2026-06-27T04:56:05.8027365Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +113140e6850a661075c8f50d672a5dd6915aeab5:refs/remotes/origin/master
2026-06-27T04:56:05.9415617Z From http://gitea:3000/***/taxbaik
2026-06-27T04:56:05.9416228Z * [new ref] 113140e6850a661075c8f50d672a5dd6915aeab5 -> origin/master
2026-06-27T04:56:05.9476858Z ::endgroup::
2026-06-27T04:56:05.9479051Z ::group::Determining the checkout info
2026-06-27T04:56:05.9483545Z ::endgroup::
2026-06-27T04:56:05.9491587Z [command]/usr/bin/git sparse-checkout disable
2026-06-27T04:56:05.9567970Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-27T04:56:05.9615301Z ::group::Checking out the ref
2026-06-27T04:56:05.9615447Z [command]/usr/bin/git checkout --progress --force -B master refs/remotes/origin/master
2026-06-27T04:56:05.9746041Z Reset branch 'master'
2026-06-27T04:56:05.9746789Z branch 'master' set up to track 'origin/master'.
2026-06-27T04:56:05.9764086Z ::endgroup::
2026-06-27T04:56:05.9887328Z [command]/usr/bin/git log -1 --format=%H
2026-06-27T04:56:05.9887474Z 113140e6850a661075c8f50d672a5dd6915aeab5
2026-06-27T04:56:05.9890246Z ::remove-matcher owner=checkout-git::
2026-06-27T04:56:05.9973072Z ::endgroup::
2026-06-27T04:56:06.0501470Z ::group::Run Setup .NET
2026-06-27T04:56:06.0501794Z with:
2026-06-27T04:56:06.0501904Z dotnet-version: 10.0
2026-06-27T04:56:06.5648878Z (node:143) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
2026-06-27T04:56:06.5649560Z (Use `node --trace-deprecation ...` to show where the warning was created)
2026-06-27T04:56:06.5717881Z [command]/run/act/actions/2d637816dd86ec9ff59dad9ec3547bf90b88133b3029538a91ec96ac7f316336/externals/install-dotnet.sh --skip-non-versioned-files --runtime dotnet --channel LTS
2026-06-27T04:56:07.0670653Z dotnet-install: Attempting to download using aka.ms link https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.9/dotnet-runtime-10.0.9-linux-x64.tar.gz
2026-06-27T04:56:07.6200922Z dotnet-install: Remote file https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.9/dotnet-runtime-10.0.9-linux-x64.tar.gz size is 36606251 bytes.
2026-06-27T04:56:07.6208881Z dotnet-install: Extracting archive from https://builds.dotnet.microsoft.com/dotnet/Runtime/10.0.9/dotnet-runtime-10.0.9-linux-x64.tar.gz
2026-06-27T04:56:08.5050524Z dotnet-install: Downloaded file size is 36606251 bytes.
2026-06-27T04:56:08.5051004Z dotnet-install: The remote and local file sizes are equal.
2026-06-27T04:56:08.5294116Z dotnet-install: Installed version is 10.0.9
2026-06-27T04:56:08.5362394Z dotnet-install: Adding to current process PATH: `/usr/share/dotnet`. Note: This change will be visible only when sourcing script.
2026-06-27T04:56:08.5367675Z dotnet-install: Note that the script does not resolve dependencies during installation.
2026-06-27T04:56:08.5375788Z dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install, select your operating system and check the "Dependencies" section.
2026-06-27T04:56:08.5376343Z dotnet-install: Installation finished successfully.
2026-06-27T04:56:08.5413709Z [command]/run/act/actions/2d637816dd86ec9ff59dad9ec3547bf90b88133b3029538a91ec96ac7f316336/externals/install-dotnet.sh --skip-non-versioned-files --channel 10.0
2026-06-27T04:56:08.9148862Z dotnet-install: Attempting to download using aka.ms link https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.301/dotnet-sdk-10.0.301-linux-x64.tar.gz
2026-06-27T04:56:12.0031545Z dotnet-install: Remote file https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.301/dotnet-sdk-10.0.301-linux-x64.tar.gz size is 235086718 bytes.
2026-06-27T04:56:12.0048639Z dotnet-install: Extracting archive from https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.301/dotnet-sdk-10.0.301-linux-x64.tar.gz
2026-06-27T04:56:18.1368889Z dotnet-install: Downloaded file size is 235086718 bytes.
2026-06-27T04:56:18.1369604Z dotnet-install: The remote and local file sizes are equal.
2026-06-27T04:56:18.3473775Z dotnet-install: Installed version is 10.0.301
2026-06-27T04:56:18.3528935Z dotnet-install: Adding to current process PATH: `/usr/share/dotnet`. Note: This change will be visible only when sourcing script.
2026-06-27T04:56:18.3537893Z dotnet-install: Note that the script does not resolve dependencies during installation.
2026-06-27T04:56:18.3538239Z dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install, select your operating system and check the "Dependencies" section.
2026-06-27T04:56:18.3538644Z dotnet-install: Installation finished successfully.
2026-06-27T04:56:18.3769412Z ##[add-matcher]/run/act/actions/2d637816dd86ec9ff59dad9ec3547bf90b88133b3029538a91ec96ac7f316336/.github/csc.json
2026-06-27T04:56:18.3907732Z ::endgroup::
2026-06-27T04:56:18.5596996Z ::group::Run dotnet restore TaxBaik.sln
2026-06-27T04:56:18.5597625Z dotnet restore TaxBaik.sln
2026-06-27T04:56:18.5597743Z shell: bash --noprofile --norc -e -o pipefail {0}
2026-06-27T04:56:18.5597858Z ::endgroup::
2026-06-27T04:56:18.9646917Z
2026-06-27T04:56:18.9666611Z Welcome to .NET 10.0!
2026-06-27T04:56:18.9666879Z ---------------------
2026-06-27T04:56:18.9667025Z SDK Version: 10.0.301
2026-06-27T04:56:18.9667335Z
2026-06-27T04:56:18.9667460Z Telemetry
2026-06-27T04:56:18.9667540Z ---------
2026-06-27T04:56:18.9667780Z The .NET tools collect usage data in order to help us improve your experience. It is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.
2026-06-27T04:56:18.9668054Z
2026-06-27T04:56:18.9668219Z Read more about .NET CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry
2026-06-27T04:56:19.1666807Z
2026-06-27T04:56:19.1667580Z ----------------
2026-06-27T04:56:19.1668003Z Installed an ASP.NET Core HTTPS development certificate.
2026-06-27T04:56:19.1668130Z To trust the certificate, run 'dotnet dev-certs https --trust'
2026-06-27T04:56:19.1668260Z Learn about HTTPS: https://aka.ms/dotnet-https
2026-06-27T04:56:19.1668406Z
2026-06-27T04:56:19.1669837Z ----------------
2026-06-27T04:56:19.1670096Z Write your first app: https://aka.ms/dotnet-hello-world
2026-06-27T04:56:19.1670185Z Find out what's new: https://aka.ms/dotnet-whats-new
2026-06-27T04:56:19.1670261Z Explore documentation: https://aka.ms/dotnet-docs
2026-06-27T04:56:19.1670362Z Report issues and find source on GitHub: https://github.com/dotnet/core
2026-06-27T04:56:19.1670854Z Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli
2026-06-27T04:56:19.1671002Z --------------------------------------------------------------------------------------
2026-06-27T04:56:20.6814950Z Determining projects to restore...
2026-06-27T04:56:21.6301085Z Restored /workspace/***/taxbaik/TaxBaik.Domain/TaxBaik.Domain.csproj (in 114 ms).
2026-06-27T04:56:24.2757293Z Restored /workspace/***/taxbaik/TaxBaik.Infrastructure/TaxBaik.Infrastructure.csproj (in 2.8 sec).
2026-06-27T04:56:24.2857032Z Restored /workspace/***/taxbaik/TaxBaik.Application/TaxBaik.Application.csproj (in 6 ms).
2026-06-27T04:56:24.4002183Z Restored /workspace/***/taxbaik/TaxBaik.Web/TaxBaik.Web.csproj (in 2.76 sec).
2026-06-27T04:56:25.9760981Z Restored /workspace/***/taxbaik/TaxBaik.Application.Tests/TaxBaik.Application.Tests.csproj (in 1.68 sec).
2026-06-27T04:56:26.1335761Z ::group::Run dotnet clean TaxBaik.sln -c Release
2026-06-27T04:56:26.1336322Z dotnet clean TaxBaik.sln -c Release
2026-06-27T04:56:26.1336558Z dotnet build TaxBaik.sln -c Release --no-restore
2026-06-27T04:56:26.1336735Z shell: bash --noprofile --norc -e -o pipefail {0}
2026-06-27T04:56:26.1336858Z ::endgroup::
2026-06-27T04:56:26.3973714Z Build started 06/27/2026 04:56:26.
2026-06-27T04:56:26.5970958Z 1>Project "/workspace/***/taxbaik/TaxBaik.sln" on node 1 (Clean target(s)).
2026-06-27T04:56:26.5971655Z 1>ValidateSolutionConfiguration:
2026-06-27T04:56:26.5971846Z Building solution configuration "Release|Any CPU".
2026-06-27T04:56:26.9517250Z 1>Project "/workspace/***/taxbaik/TaxBaik.sln" (1) is building "/workspace/***/taxbaik/TaxBaik.Web/TaxBaik.Web.csproj" (2) on node 2 (Clean target(s)).
2026-06-27T04:56:26.9518536Z 2>CoreClean:
2026-06-27T04:56:26.9518837Z Creating directory "obj/Release/net10.0/".
2026-06-27T04:56:26.9899747Z 1>Project "/workspace/***/taxbaik/TaxBaik.sln" (1) is building "/workspace/***/taxbaik/TaxBaik.Application.Tests/TaxBaik.Application.Tests.csproj" (3) on node 1 (Clean target(s)).
2026-06-27T04:56:26.9902304Z 3>CoreClean:
2026-06-27T04:56:26.9904320Z Creating directory "obj/Release/net10.0/".
2026-06-27T04:56:27.1845185Z 3>Project "/workspace/***/taxbaik/TaxBaik.Application.Tests/TaxBaik.Application.Tests.csproj" (3) is building "/workspace/***/taxbaik/TaxBaik.Domain/TaxBaik.Domain.csproj" (5:3) on node 1 (Clean target(s)).
2026-06-27T04:56:27.1845847Z 5>CoreClean:
2026-06-27T04:56:27.1846000Z Creating directory "obj/Release/net10.0/".
2026-06-27T04:56:27.2247796Z 5>Done Building Project "/workspace/***/taxbaik/TaxBaik.Domain/TaxBaik.Domain.csproj" (Clean target(s)).
2026-06-27T04:56:27.2471242Z 2>Project "/workspace/***/taxbaik/TaxBaik.Web/TaxBaik.Web.csproj" (2) is building "/workspace/***/taxbaik/TaxBaik.Application/TaxBaik.Application.csproj" (4:3) on node 2 (Clean target(s)).
2026-06-27T04:56:27.2472145Z 4>CoreClean:
2026-06-27T04:56:27.2472586Z Creating directory "obj/Release/net10.0/".
2026-06-27T04:56:27.2711925Z 4>Done Building Project "/workspace/***/taxbaik/TaxBaik.Application/TaxBaik.Application.csproj" (Clean target(s)).
2026-06-27T04:56:27.2748289Z 3>Done Building Project "/workspace/***/taxbaik/TaxBaik.Application.Tests/TaxBaik.Application.Tests.csproj" (Clean target(s)).
2026-06-27T04:56:27.2955283Z 2>Project "/workspace/***/taxbaik/TaxBaik.Web/TaxBaik.Web.csproj" (2) is building "/workspace/***/taxbaik/TaxBaik.Infrastructure/TaxBaik.Infrastructure.csproj" (6:2) on node 2 (Clean target(s)).
2026-06-27T04:56:27.2959949Z 6>CoreClean:
2026-06-27T04:56:27.2962173Z Creating directory "obj/Release/net10.0/".
2026-06-27T04:56:27.3191977Z 6>Done Building Project "/workspace/***/taxbaik/TaxBaik.Infrastructure/TaxBaik.Infrastructure.csproj" (Clean target(s)).
2026-06-27T04:56:27.3217578Z 2>Done Building Project "/workspace/***/taxbaik/TaxBaik.Web/TaxBaik.Web.csproj" (Clean target(s)).
2026-06-27T04:56:27.3229334Z 1>Done Building Project "/workspace/***/taxbaik/TaxBaik.sln" (Clean target(s)).
2026-06-27T04:56:27.3351258Z
2026-06-27T04:56:27.3351675Z Build succeeded.
2026-06-27T04:56:27.3351846Z 0 Warning(s)
2026-06-27T04:56:27.3351941Z 0 Error(s)
2026-06-27T04:56:27.3352049Z
2026-06-27T04:56:27.3352232Z Time Elapsed 00:00:00.93
2026-06-27T04:56:31.4823444Z TaxBaik.Domain -> /workspace/***/taxbaik/TaxBaik.Domain/bin/Release/net10.0/TaxBaik.Domain.dll
2026-06-27T04:56:32.7568728Z TaxBaik.Infrastructure -> /workspace/***/taxbaik/TaxBaik.Infrastructure/bin/Release/net10.0/TaxBaik.Infrastructure.dll
2026-06-27T04:56:33.2748558Z TaxBaik.Application -> /workspace/***/taxbaik/TaxBaik.Application/bin/Release/net10.0/TaxBaik.Application.dll
2026-06-27T04:56:33.8160773Z TaxBaik.Application.Tests -> /workspace/***/taxbaik/TaxBaik.Application.Tests/bin/Release/net10.0/TaxBaik.Application.Tests.dll
2026-06-27T04:56:38.6045044Z TaxBaik.Web -> /workspace/***/taxbaik/TaxBaik.Web/bin/Release/net10.0/TaxBaik.Web.dll
2026-06-27T04:56:38.6336793Z
2026-06-27T04:56:38.6356878Z Build succeeded.
2026-06-27T04:56:38.6362372Z 0 Warning(s)
2026-06-27T04:56:38.6364010Z 0 Error(s)
2026-06-27T04:56:38.6367617Z
2026-06-27T04:56:38.6369485Z Time Elapsed 00:00:10.90
2026-06-27T04:56:38.8299895Z ::group::Run dotnet test TaxBaik.sln -c Release --no-build
2026-06-27T04:56:38.8300295Z dotnet test TaxBaik.sln -c Release --no-build
2026-06-27T04:56:38.8300417Z shell: bash --noprofile --norc -e -o pipefail {0}
2026-06-27T04:56:38.8300520Z ::endgroup::
2026-06-27T04:56:40.3696844Z Test run for /workspace/***/taxbaik/TaxBaik.Application.Tests/bin/Release/net10.0/TaxBaik.Application.Tests.dll (.NETCoreApp,Version=v10.0)
2026-06-27T04:56:40.7459566Z A total of 1 test files matched the specified pattern.
2026-06-27T04:56:41.8878250Z
2026-06-27T04:56:41.8918202Z Passed! - Failed: 0, Passed: 4, Skipped: 0, Total: 4, Duration: 53 ms - TaxBaik.Application.Tests.dll (net10.0)
2026-06-27T04:56:42.0622194Z ::group::Run dotnet publish TaxBaik.Web/ -c Release -o ./publish --no-restore
2026-06-27T04:56:42.0622569Z dotnet publish TaxBaik.Web/ -c Release -o ./publish --no-restore
2026-06-27T04:56:42.0622691Z shell: bash --noprofile --norc -e -o pipefail {0}
2026-06-27T04:56:42.0622791Z ::endgroup::
2026-06-27T04:56:43.7414497Z TaxBaik.Domain -> /workspace/***/taxbaik/TaxBaik.Domain/bin/Release/net10.0/TaxBaik.Domain.dll
2026-06-27T04:56:43.8693471Z TaxBaik.Infrastructure -> /workspace/***/taxbaik/TaxBaik.Infrastructure/bin/Release/net10.0/TaxBaik.Infrastructure.dll
2026-06-27T04:56:43.8841172Z TaxBaik.Application -> /workspace/***/taxbaik/TaxBaik.Application/bin/Release/net10.0/TaxBaik.Application.dll
2026-06-27T04:56:44.3248352Z TaxBaik.Web -> /workspace/***/taxbaik/TaxBaik.Web/bin/Release/net10.0/TaxBaik.Web.dll
2026-06-27T04:56:46.2499198Z TaxBaik.Web -> /workspace/***/taxbaik/publish/
2026-06-27T04:56:46.4925753Z ::group::Run set -e
2026-06-27T04:56:46.4926275Z set -e
2026-06-27T04:56:46.4926406Z JWT_SECRET_KEY="***"
2026-06-27T04:56:46.4926510Z if [ -z "$JWT_SECRET_KEY" ]; then
2026-06-27T04:56:46.4926610Z echo "Missing TAXBAIK_JWT_SECRET_KEY secret" >&2
2026-06-27T04:56:46.4926692Z exit 1
2026-06-27T04:56:46.4926766Z fi
2026-06-27T04:56:46.4926835Z JWT_SECRET_KEY="$JWT_SECRET_KEY" python3 - <<'PY'
2026-06-27T04:56:46.4926911Z import json
2026-06-27T04:56:46.4926984Z import os
2026-06-27T04:56:46.4927081Z from pathlib import Path
2026-06-27T04:56:46.4927334Z
2026-06-27T04:56:46.4927408Z config = {
2026-06-27T04:56:46.4927547Z "Jwt": {
2026-06-27T04:56:46.4927619Z "SecretKey": os.environ["JWT_SECRET_KEY"]
2026-06-27T04:56:46.4927698Z }
2026-06-27T04:56:46.4927781Z }
2026-06-27T04:56:46.4927844Z
2026-06-27T04:56:46.4927906Z Path("./publish/appsettings.Production.json").write_text(
2026-06-27T04:56:46.4927981Z json.dumps(config, ensure_ascii=False, indent=2),
2026-06-27T04:56:46.4928074Z encoding="utf-8",
2026-06-27T04:56:46.4928146Z )
2026-06-27T04:56:46.4928208Z PY
2026-06-27T04:56:46.4928293Z shell: bash --noprofile --norc -e -o pipefail {0}
2026-06-27T04:56:46.4928394Z ::endgroup::
2026-06-27T04:56:46.8011191Z ::group::Run cp -r db/migrations ./publish/migrations || true
2026-06-27T04:56:46.8011697Z cp -r db/migrations ./publish/migrations || true
2026-06-27T04:56:46.8011878Z shell: bash --noprofile --norc -e -o pipefail {0}
2026-06-27T04:56:46.8012035Z ::endgroup::
2026-06-27T04:56:47.0307835Z ::group::Run mkdir -p ./publish/wwwroot
2026-06-27T04:56:47.0308194Z mkdir -p ./publish/wwwroot
2026-06-27T04:56:47.0308309Z COMMIT_HASH=$(git rev-parse --short HEAD)
2026-06-27T04:56:47.0308404Z BUILD_TIME=$(date -u +'%Y-%m-%d %H:%M:%S UTC')
2026-06-27T04:56:47.0308488Z echo "Version: $COMMIT_HASH" > ./publish/wwwroot/version.txt
2026-06-27T04:56:47.0308575Z echo "Built: $BUILD_TIME" >> ./publish/wwwroot/version.txt
2026-06-27T04:56:47.0308650Z echo "✓ Version: $COMMIT_HASH"
2026-06-27T04:56:47.0308733Z shell: bash --noprofile --norc -e -o pipefail {0}
2026-06-27T04:56:47.0308839Z ::endgroup::
2026-06-27T04:56:47.1073280Z ✓ Version: 113140e
2026-06-27T04:56:47.2424145Z ::group::Run set -e
2026-06-27T04:56:47.2424619Z set -e
2026-06-27T04:56:47.2424752Z TIMESTAMP=$(date +%Y%m%d_%H%M%S)
2026-06-27T04:56:47.2424842Z DEPLOY_HOME="/home/***"
2026-06-27T04:56:47.2425050Z DEPLOY_DIR="$DEPLOY_HOME/deployments/taxbaik_${TIMESTAMP}"
2026-06-27T04:56:47.2425299Z DEPLOY_HOST="***"
2026-06-27T04:56:47.2425403Z DEPLOY_USER="***"
2026-06-27T04:56:47.2425484Z
2026-06-27T04:56:47.2425570Z echo "=== Deploying TaxBaik v$(git rev-parse --short HEAD) ==="
2026-06-27T04:56:47.2425660Z mkdir -p ~/.ssh
2026-06-27T04:56:47.2425741Z SSH_KEY_B64="***"
2026-06-27T04:56:47.2425901Z SSH_KEY_RAW="***"
2026-06-27T04:56:47.2426443Z if [ -n "$SSH_KEY_B64" ]; then
2026-06-27T04:56:47.2426551Z printf '%s' "$SSH_KEY_B64" | base64 -d > ~/.ssh/id_ed25519
2026-06-27T04:56:47.2426649Z elif [ -n "$SSH_KEY_RAW" ]; then
2026-06-27T04:56:47.2426745Z if printf '%s' "$SSH_KEY_RAW" | grep -q 'BEGIN .*PRIVATE KEY'; then
2026-06-27T04:56:47.2426846Z printf '%b\n' "$SSH_KEY_RAW" > ~/.ssh/id_ed25519
2026-06-27T04:56:47.2426926Z else
2026-06-27T04:56:47.2426998Z printf '%s' "$SSH_KEY_RAW" | base64 -d > ~/.ssh/id_ed25519
2026-06-27T04:56:47.2427234Z fi
2026-06-27T04:56:47.2427308Z else
2026-06-27T04:56:47.2427373Z echo "Missing DEPLOY_SSH_KEY_B64 or DEPLOY_SSH_KEY secret" >&2
2026-06-27T04:56:47.2427473Z exit 1
2026-06-27T04:56:47.2427550Z fi
2026-06-27T04:56:47.2427615Z sed -i 's/\r$//' ~/.ssh/id_ed25519
2026-06-27T04:56:47.2427691Z chmod 600 ~/.ssh/id_ed25519
2026-06-27T04:56:47.2427803Z ssh-keyscan -H "$DEPLOY_HOST" >> ~/.ssh/known_hosts 2>/dev/null || true
2026-06-27T04:56:47.2427892Z
2026-06-27T04:56:47.2427954Z tar -czf taxbaik_publish.tgz -C ./publish .
2026-06-27T04:56:47.2428033Z scp -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=yes taxbaik_publish.tgz "$DEPLOY_USER@$DEPLOY_HOST:/tmp/taxbaik_publish_${TIMESTAMP}.tgz"
2026-06-27T04:56:47.2428142Z ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=yes "$DEPLOY_USER@$DEPLOY_HOST" "
2026-06-27T04:56:47.2428232Z set -e
2026-06-27T04:56:47.2428301Z mkdir -p '$DEPLOY_DIR'
2026-06-27T04:56:47.2428382Z tar -xzf '/tmp/taxbaik_publish_${TIMESTAMP}.tgz' -C '$DEPLOY_DIR'
2026-06-27T04:56:47.2428722Z rm -f '/tmp/taxbaik_publish_${TIMESTAMP}.tgz'
2026-06-27T04:56:47.2428823Z ln -sfn '$DEPLOY_DIR' '$DEPLOY_HOME/taxbaik_active'
2026-06-27T04:56:47.2428901Z sudo systemctl restart taxbaik
2026-06-27T04:56:47.2428990Z "
2026-06-27T04:56:47.2429061Z sleep 5
2026-06-27T04:56:47.2429144Z echo "✓ Deployed to $DEPLOY_HOST:$DEPLOY_DIR"
2026-06-27T04:56:47.2429235Z shell: bash --noprofile --norc -e -o pipefail {0}
2026-06-27T04:56:47.2429339Z ::endgroup::
2026-06-27T04:56:47.3205974Z === Deploying TaxBaik v113140e ===