From 43295c82b5ade5f63cbf6e3d3572bfec98e07bf9 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 14 Apr 2026 02:44:43 +0000 Subject: [PATCH] ci: add install smoke test for Windows and Unix Verifies that `officecli install` copies the binary to the correct platform-specific path: %LOCALAPPDATA%\OfficeCli\officecli.exe on Windows, ~/.local/bin/officecli on Unix. Catches regressions like missing .exe suffix or wrong install directory. https://claude.ai/code/session_01BpqYmWM5foMiRjEXBxxcEh --- .github/workflows/build.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 287e9bd1..7732d247 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -101,6 +101,25 @@ jobs: publish/${{ matrix.name }} close test_smoke.docx rm -f test_smoke.docx + - name: Smoke test - install + if: >- + (matrix.rid == 'osx-arm64' && runner.arch == 'ARM64') || + (matrix.rid == 'osx-x64' && runner.arch == 'X64') || + (matrix.rid == 'linux-x64' && runner.os == 'Linux') || + (matrix.rid == 'win-x64' && runner.os == 'Windows') + env: + MSYS_NO_PATHCONV: '1' + MSYS2_ARG_CONV_EXCL: '*' + run: | + publish/${{ matrix.name }} install + if [ "$RUNNER_OS" == "Windows" ]; then + test -f "$LOCALAPPDATA/OfficeCli/officecli.exe" || { echo "FAIL: officecli.exe not found in %LOCALAPPDATA%\\OfficeCli"; exit 1; } + "$LOCALAPPDATA/OfficeCli/officecli.exe" --version + else + test -f "$HOME/.local/bin/officecli" || { echo "FAIL: officecli not found in ~/.local/bin"; exit 1; } + "$HOME/.local/bin/officecli" --version + fi + - name: Upload artifact uses: actions/upload-artifact@v4 with: