ci: finish native vector checks and fix Windows installer tests (#12526)

* test: pass installer scripts through stdin on Windows

* ci: allow cold Intel macOS vector builds to finish

* ci: retain completed Rust builds when later platform checks fail
This commit is contained in:
Chris Lu authored and GitHub committed 2026-11-09 16:33:50 -08:00
1 parent 89d3016d5e
commit c1afb1b1cb
2 files changed
+18 -4

No files matched your search

+13 -2
View File
@@ -35,7 +35,7 @@ jobs:
suffix: windows_amd64
protoc: win32
runs-on: ${{ matrix.runner }}
timeout-minutes: 60
timeout-minutes: 120
env:
CARGO_BUILD_JOBS: '2'
CARGO_PROFILE_TEST_DEBUG: '0'
@@ -51,7 +51,8 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: '3.13'
- uses: actions/cache@v6
- uses: actions/cache/restore@v6
id: cargo-cache
if: ${{ !startsWith(github.ref, 'refs/tags/') }}
with:
path: |
@@ -77,6 +78,7 @@ jobs:
with open(os.environ['GITHUB_ENV'],'a') as out: out.write(f'PROTOC={path}\n')
PY
- name: Build vector engine
id: cargo-build
run: cargo build --locked --release --manifest-path seaweed-vector/Cargo.toml -p weed-vector-server
- name: Test vector crates
run: cargo test --locked --release --manifest-path seaweed-vector/Cargo.toml --workspace
@@ -87,6 +89,15 @@ jobs:
export BASH_BINARY
fi
python -m unittest discover -s test/installer
- name: Save compiled dependencies
if: ${{ always() && !startsWith(github.ref, 'refs/tags/') && steps.cargo-build.outcome == 'success' && steps.cargo-cache.outputs.cache-hit != 'true' }}
uses: actions/cache/save@v6
with:
path: |
~/.cargo/registry
~/.cargo/git
seaweed-vector/target
key: vector-${{ matrix.suffix }}-${{ hashFiles('seaweed-vector/Cargo.lock') }}
- name: Package engine
env:
ASSET_SUFFIX: ${{ matrix.suffix }}
+5 -2
View File
@@ -13,8 +13,11 @@ BASH = os.environ.get('BASH_BINARY', 'bash')
class VectorInstallerTest(unittest.TestCase):
def shell(self, code, **env):
return subprocess.run([BASH, '-c', SOURCE + '\n' + code], env=dict(os.environ, **env),
text=True, capture_output=True)
result = subprocess.run([BASH, '-s'], input=(SOURCE + '\n' + code + '\n').encode('utf-8'),
env=dict(os.environ, **env), capture_output=True)
result.stdout = result.stdout.decode('utf-8', errors='replace')
result.stderr = result.stderr.decode('utf-8', errors='replace')
return result
def test_platforms_and_asset_names(self):
for system, arch, supported, suffix in [