diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 25c07531..105d27b0 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -21,14 +21,14 @@ jobs: fail-fast: false matrix: include: - - postgresql-version-major: "14" - postgresql-version: "14.20-1" - - postgresql-version-major: "15" - postgresql-version: "15.15-1" - - postgresql-version-major: "16" - postgresql-version: "16.11-1" - - postgresql-version-major: "17" - postgresql-version: "17.7-1" + # - postgresql-version-major: "14" + # postgresql-version: "14.20-1" + # - postgresql-version-major: "15" + # postgresql-version: "15.15-1" + # - postgresql-version-major: "16" + # postgresql-version: "16.11-1" + # - postgresql-version-major: "17" + # postgresql-version: "17.7-1" - postgresql-version-major: "18" postgresql-version: "18.1-1" - groonga-main: "yes" @@ -270,3 +270,71 @@ jobs: bundle exec ruby ` -I${{ github.workspace }}\pgroonga-benchmark\lib ` test\run-test.rb + + verify-package: + name: Verify package + needs: test + runs-on: windows-latest + env: + PGROONGA_BENCHMARK_GEMFILE: ${{ github.workspace }}\pgroonga-benchmark\Gemfile + steps: + - uses: actions/checkout@v6 + - uses: actions/checkout@v6 + with: + repository: pgroonga/benchmark + path: pgroonga-benchmark + - name: Download artifact + uses: actions/download-artifact@v4 + with: + name: release-postgresql-18-x64 + path: artifact + - name: Extract package + run: | + Expand-Archive -Path artifact\*.zip -DestinationPath ..\pgsql + - name: Inspect package contents + shell: cmd + run: | + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" + echo === DLLs in bin directory === + dir ..\pgsql\bin\*.dll + echo. + echo === DLLs in lib directory === + dir ..\pgsql\lib\*.dll + echo. + echo === Checking pgroonga.dll dependencies === + dumpbin /dependents ..\pgsql\lib\pgroonga.dll + echo. + echo === Checking msgpack symbols in libgroonga.dll === + dumpbin /exports ..\pgsql\bin\libgroonga.dll | findstr /i msgpack + echo. + echo === Checking pgroonga.dll imports for msgpack === + dumpbin /imports ..\pgsql\lib\pgroonga.dll | findstr /i msgpack + - uses: ruby/setup-ruby@v1 + with: + ruby-version: ruby + bundler-cache: true + - name: Run PostgreSQL + run: | + $Env:PATH = "$(Get-Location)\..\pgsql\bin;${Env:PATH}" + ..\pgsql\bin\initdb ` + --encoding=UTF-8 ` + --locale=C ` + --pgdata=test-data ` + --username=pgroonga-test + Add-Content ` + -Path test-data\postgresql.conf ` + -Value "enable_partitionwise_join = on","max_prepared_transactions = 1","random_page_cost = 0" ` + -Encoding utf8 + ..\pgsql\bin\pg_ctl start --pgdata=test-data + - name: Run unit test + run: | + $Env:PATH = "$(Get-Location)\..\pgsql\bin;${Env:PATH}" + $Env:PGUSER = "pgroonga-test" + Remove-Item test\test-streaming-replication.rb + bundle exec ruby ` + -I${{ github.workspace }}\pgroonga-benchmark\lib ` + test\run-test.rb + - name: Shutdown PostgreSQL + if: always() + run: | + ..\pgsql\bin\pg_ctl stop --pgdata=test-data