name: TaxBaik CI/CD on: push: branches: - master jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup .NET uses: actions/setup-dotnet@v4 with: dotnet-version: '10.0' - name: Restore dependencies run: dotnet restore TaxBaik.sln - name: Build solution run: dotnet build TaxBaik.sln -c Release --no-restore - name: Publish Web run: dotnet publish TaxBaik.Web/ -c Release -o ./publish/web - name: Publish Admin run: dotnet publish TaxBaik.Admin/ -c Release -o ./publish/admin - name: Copy migrations run: | cp -r db/migrations ./publish/web/migrations || true cp -r db/migrations ./publish/admin/migrations || true - name: Generate version info run: | mkdir -p ./publish/web/wwwroot ./publish/admin/wwwroot COMMIT_HASH=$(git rev-parse --short HEAD) BUILD_TIME=$(date -u +'%Y-%m-%d %H:%M:%S UTC') echo "Version: $COMMIT_HASH" > ./publish/web/wwwroot/version.txt echo "Built: $BUILD_TIME" >> ./publish/web/wwwroot/version.txt cp ./publish/web/wwwroot/version.txt ./publish/admin/wwwroot/version.txt echo "✓ Build complete - Version: $COMMIT_HASH"