Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test_python_sdist: run on release tags only #5

Closed
wants to merge 6 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 0 additions & 22 deletions .github/actions/install-deps/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,6 @@ inputs:
default: "false"
description: "Don't use cache from previous builds"

outputs:
VCPKG_INSTALLATION_ROOT:
description: "The output of vcpkg install path"
value: ${{ steps.vcpkg-step.outputs.VCPKG_INSTALLATION_ROOT }}

runs:
using: "composite"
steps:
Expand Down Expand Up @@ -111,23 +106,6 @@ runs:
# with:
# key: ${{ github.job }}-${{ matrix.os }}

- name: Windows init steps (vc143)
id: vcpkg-step
shell: pwsh
run: |
vcpkg.exe install boost-thread boost-algorithm boost-filesystem boost-multi-index boost-multiprecision boost-program-options boost-system boost-unordered boost-uuid
vcpkg.exe integrate install
echo "VCPKG_INSTALLATION_ROOT=${env:VCPKG_INSTALLATION_ROOT}"
echo "VCPKG_INSTALLATION_ROOT=${env:VCPKG_INSTALLATION_ROOT}" >> $env:GITHUB_OUTPUT
echo "${env:VCPKG_INSTALLATION_ROOT}" >> $env:GITHUB_PATH
echo "VCPKG_ROOT=${env:VCPKG_INSTALLATION_ROOT}" >> $env:GITHUB_ENV
dir env:
env:
PYTHON_VERSION: ${{ matrix.python-version }}
VCPKG_DEFAULT_TRIPLET: x64-windows
VCPKG_PLATFORM_TOOLSET: v143
if: ${{ runner.os == 'Windows' && inputs.cpp == 'true' }}

# https://github.com/apache/arrow/issues/38391
- if: ${{ runner.os == 'macOS' }}
shell: bash
Expand Down
25 changes: 18 additions & 7 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -649,6 +649,8 @@ jobs:
test_python_sdist:
needs: [build_and_test_jupyterlab]
runs-on: ${{ matrix.os }}
if: ${{ startsWith(github.ref, 'refs/tags/v') }}

strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -677,28 +679,36 @@ jobs:

- uses: actions/download-artifact@v4
with:
name: perspective-metadata
path: rust/
name: perspective-rust
path: crates/

- uses: actions/download-artifact@v4
with:
name: perspective-python-sdist

- name: Set up global perspective-server and perspective-client path overrides
# this makes it so the sdist is tested against unreleased changes
# made to perspective-client and perspective-server
# The sdist depends on perspective-{client,server} crates published to
# crates.io. Patch the build to instead use .crate artifacts built
# previously in the workflow
- name: Set up path overrides for perspective .crate contents
shell: bash
run: |
(cd crates && tar xvf perspective-client-*.crate && tar xvf perspective-server-*.crate)
CLIENT_CRATE_ROOT=$(ls -d "$PWD"/crates/perspective-client-*/ | head -n 1)
SERVER_CRATE_ROOT=$(ls -d "$PWD"/crates/perspective-server-*/ | head -n 1)

mkdir -p $HOME/.cargo
cat > $HOME/.cargo/config.toml <<EOF
[patch.crates-io]
perspective-client = { path = "$PWD/rust/perspective-client" }
perspective-server = { path = "$PWD/rust/perspective-server" }
perspective-client = { path = "$CLIENT_CRATE_ROOT" }
perspective-server = { path = "$SERVER_CRATE_ROOT" }
EOF

- name: Install perspective-python sdist
shell: bash
run: python -m pip install -vv ./perspective*.tar.gz

- name: Verify labextension
shell: bash
run: |
jupyter labextension list --debug
jupyter labextension list 2>&1 | grep '@finos/perspective-jupyterlab'
Expand Down Expand Up @@ -830,6 +840,7 @@ jobs:
[
build_and_test_jupyterlab,
test_python,
test_python_sdist,
test_js,
benchmark_js,
benchmark_python,
Expand Down
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
# [v3.1.3](https://github.com/finos/perspective/releases/tag/v3.1.3)

_31 October 2024_ ([Full changelog](https://github.com/finos/perspective/compare/v3.1.2...v3.1.3))

Fixes

- Fix `perspective-python` sdist and add sdist tests to CI [#2817](https://github.com/finos/perspective/pull/2817)
- Fix workspace resize and related bugs [#2808](https://github.com/finos/perspective/pull/2808)
- fix aiohttp disconnect error on websockets [#2806](https://github.com/finos/perspective/pull/2806)
- Missing tooltip data [#2753](https://github.com/finos/perspective/pull/2753)
- Escape esbuild plugin's symbol replacement. [#2807](https://github.com/finos/perspective/pull/2807)
- Add aarch64 Mac runners to test_python, restore PSP_ARCH dev behavior [#2802](https://github.com/finos/perspective/pull/2802)

# [v3.1.2](https://github.com/finos/perspective/releases/tag/v3.1.2)

_22 October 2024_ ([Full changelog](https://github.com/finos/perspective/compare/v3.1.1...v3.1.2))
Expand Down
14 changes: 7 additions & 7 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion cmake/arrow.txt.in
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ ExternalProject_Add(apachearrow
TEST_COMMAND ""
# This patch is to work around https://github.com/apache/arrow/issues/44384
# It can be removed when a version of Arrow is released with https://github.com/apache/arrow/pull/44385
PATCH_COMMAND ${CMAKE_COMMAND} -E chdir <SOURCE_DIR> git apply ${CMAKE_SOURCE_DIR}/patches/fix_arrow_libtool.patch
PATCH_COMMAND "${CMAKE_COMMAND}" -E chdir <SOURCE_DIR> git apply "${CMAKE_SOURCE_DIR}/patches/fix_arrow_libtool.patch"
)
42 changes: 21 additions & 21 deletions cpp/perspective/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ endif()


if(WIN32)
set(CMAKE_CXX_FLAGS " /EHsc /MP /MT /c /bigobj")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP /MT /c /bigobj")
else()
# set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS}")
endif()
Expand Down Expand Up @@ -301,24 +301,24 @@ elseif(PSP_CPP_BUILD OR PSP_PYTHON_BUILD)
endif()
endif()

set(RAPIDJSON_BUILD_TESTS OFF CACHE BOOL "Disable rapidjson tests")


set(CMAKE_C_FLAGS " \
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \
-O3 \
")

if (PSP_WASM_EXCEPTIONS)
set(CMAKE_CXX_FLAGS " -fwasm-exceptions \
-O3 \
-g0 \
")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \
-fwasm-exceptions \
-O3 \
-g0 \
")
else()
set(CMAKE_CXX_FLAGS " \
-O3 \
")

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \
-O3 \
")
endif()

set(RAPIDJSON_BUILD_TESTS OFF CACHE BOOL "Disable rapidjson tests")

if(PSP_PYODIDE)
set(RELOCATABLE_FLAGS "-sRELOCATABLE=1 -sSIDE_MODULE=2 -sWASM_BIGINT=1")

Expand All @@ -327,7 +327,7 @@ if(PSP_PYODIDE)
string(APPEND CMAKE_CXX_FLAGS "${RELOCATABLE_FLAGS}")
endif()

# Build header-only dependencies from external source
# Build (read: download and extract) header-only dependencies from external sources
set(all_deps_INCLUDE_DIRS "")
psp_build_dep("date" "${PSP_CMAKE_MODULE_PATH}/date.txt.in")
psp_build_dep("hopscotch" "${PSP_CMAKE_MODULE_PATH}/hopscotch.txt.in")
Expand All @@ -342,6 +342,10 @@ list(APPEND all_deps_INCLUDE_DIRS
psp_build_dep("Boost" "${PSP_CMAKE_MODULE_PATH}/Boost.txt.in")
list(APPEND all_deps_INCLUDE_DIRS ${Boost_INCLUDE_DIRS})

# Build dependencies as static libraries with add_subdirectory()
# Note that values set above for CMAKE_C_FLAGS, CMAKE_CXX_FLAGS, etc. will
# apply to dependency cmake builds

# Arrow builds its own dependencies
psp_build_message("${Cyan}Building Apache Arrow${ColorReset}")
psp_build_dep("arrow" "${PSP_CMAKE_MODULE_PATH}/arrow.txt.in")
Expand All @@ -364,20 +368,16 @@ list(APPEND all_deps_INCLUDE_DIRS
add_subdirectory(${PSP_CMAKE_MODULE_PATH}/../cpp/protos "${CMAKE_BINARY_DIR}/protos-build")

# ####################
set(CMAKE_C_FLAGS_DEBUG "")
set(CMAKE_C_FLAGS_RELEASE "")
set(CMAKE_C_FLAGS " \
${CMAKE_C_FLAGS} \
${CMAKE_C_FLAGS_RELEASE} \
${EXTENDED_FLAGS} \
${OPT_FLAGS} \
")

# prevents the default debug flags from overriding the debug flags we
# set in OPT_FLAGS
set(CMAKE_CXX_FLAGS_DEBUG "")
set(CMAKE_CXX_FLAGS_RELEASE "")
set(CMAKE_CXX_FLAGS " \
${CMAKE_CXX_FLAGS} \
${CMAKE_CXX_FLAGS_RELEASE} \
${EXTENDED_FLAGS} \
${OPT_FLAGS} \
")
Expand Down Expand Up @@ -484,7 +484,7 @@ set(WASM_SOURCE_FILES ${SOURCE_FILES})
message("${BUILD_MESSAGE}\n")

if(WIN32)
set(CMAKE_CXX_FLAGS " /EHsc /MP /MT /c /bigobj")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP /MT /c /bigobj")
else()
# set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS}")
endif()
Expand Down
2 changes: 1 addition & 1 deletion cpp/perspective/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"private": true,
"author": "The Perspective Authors",
"license": "Apache-2.0",
"version": "3.1.2",
"version": "3.1.3",
"main": "./dist/esm/perspective.cpp.js",
"files": [
"dist/esm/**/*",
Expand Down
6 changes: 0 additions & 6 deletions cpp/perspective/src/cpp/utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -125,12 +125,6 @@ parse_all_date_time(
);
}

bool
parse_all_date_time(std::tm& tm, std::string_view date_time_str) {
std::chrono::system_clock::time_point tp;
return parse_all_date_time(tm, tp, date_time_str);
}

bool
parse_all_date_time(
std::chrono::system_clock::time_point& tp, std::string_view date_time_str
Expand Down
2 changes: 1 addition & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@finos/perspective-docs",
"version": "3.1.2",
"version": "3.1.3",
"private": true,
"scripts": {
"build": "node build.js && docusaurus build",
Expand Down
2 changes: 1 addition & 1 deletion examples/blocks/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "blocks",
"private": true,
"version": "3.1.2",
"version": "3.1.3",
"description": "A collection of simple client-side Perspective examples for `http://bl.ocks.org`.",
"scripts": {
"start": "mkdirp dist && node --experimental-modules server.mjs",
Expand Down
2 changes: 1 addition & 1 deletion examples/esbuild-example/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "esbuild-example",
"private": true,
"version": "3.1.2",
"version": "3.1.3",
"description": "An esbuild example app built using `@finos/perspective-viewer`.",
"scripts": {
"build": "node build.js",
Expand Down
2 changes: 1 addition & 1 deletion examples/esbuild-remote/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "esbuild-remote",
"private": true,
"version": "3.1.2",
"version": "3.1.3",
"description": "An example of 2 Perspectives, one client and one server, streaming via Apache Arrow.",
"scripts": {
"start": "node build.js && node server/index.mjs"
Expand Down
2 changes: 1 addition & 1 deletion examples/python-aiohttp/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "python-aiohttp",
"private": true,
"version": "3.1.2",
"version": "3.1.3",
"description": "An example of editing a `perspective-python` server from the browser.",
"scripts": {
"start": "PYTHONPATH=../../python/perspective python3 server.py"
Expand Down
2 changes: 1 addition & 1 deletion examples/python-starlette/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "python-starlette",
"private": true,
"version": "3.1.2",
"version": "3.1.3",
"description": "An example of editing a `perspective-python` server from the browser.",
"scripts": {
"start": "PYTHONPATH=../../python/perspective python3 server.py"
Expand Down
2 changes: 1 addition & 1 deletion examples/python-tornado-streaming/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "python-tornado-streaming",
"private": true,
"version": "3.1.2",
"version": "3.1.3",
"description": "An example of streaming a `perspective-python` server to the browser.",
"scripts": {
"start": "PYTHONPATH=../../python/perspective python3 server.py"
Expand Down
2 changes: 1 addition & 1 deletion examples/python-tornado/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "python-tornado",
"private": true,
"version": "3.1.2",
"version": "3.1.3",
"description": "An example of editing a `perspective-python` server from the browser.",
"scripts": {
"start": "PYTHONPATH=../../python/perspective python3 server.py"
Expand Down
2 changes: 1 addition & 1 deletion examples/react-example/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "react-example",
"private": true,
"version": "3.1.2",
"version": "3.1.3",
"description": "An example app built using `@finos/perspective-viewer`.",
"scripts": {
"start": "webpack serve --open",
Expand Down
2 changes: 1 addition & 1 deletion examples/rust-axum/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ edition = "2021"
publish = false

[dependencies]
perspective = { version = "3.1.2", path = "../../rust/perspective" }
perspective = { version = "3.1.3", path = "../../rust/perspective" }
axum = { version = ">=0.7,<2", features = ["ws"] }
futures = "0.3"
tokio = { version = "1.0", features = ["full"] }
Expand Down
Loading
Loading