DataFrame output: omit timezone by default, NaN for float nulls #290
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build & Test Linux(musllinux) arm64 | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| TAG_NAME: | |
| description: 'Release Version Tag' | |
| required: true | |
| release: | |
| types: [created] | |
| push: | |
| branches: | |
| - main | |
| paths-ignore: | |
| - '**/*.md' | |
| pull_request: | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| branches: | |
| - main | |
| paths-ignore: | |
| - '**/*.md' | |
| jobs: | |
| build_musllinux_wheels: | |
| name: Build & Test musllinux wheels (Alpine Linux aarch64) | |
| runs-on: [self-hosted, linux, arm64, ubuntu-latest] | |
| if: ${{ !github.event.pull_request.draft }} | |
| steps: | |
| - name: Setup Python and install twine for PyPI upload | |
| run: | | |
| echo "=== Setting up Python for PyPI upload ===" | |
| # Install pip if not available | |
| sudo apt-get update | |
| sudo apt-get install -y python3-pip | |
| python3 --version | |
| python3 -m pip --version | |
| echo "=== Installing twine ===" | |
| python3 -m pip install --upgrade pip --break-system-packages | |
| python3 -m pip install twine --break-system-packages | |
| if ! python3 -m twine --version; then | |
| echo "ERROR: Twine installation failed!" | |
| exit 1 | |
| fi | |
| echo "Twine installed successfully" | |
| - name: Install GitHub CLI | |
| run: | | |
| wget https://github.com/cli/cli/releases/download/v2.82.1/gh_2.82.1_linux_arm64.tar.gz -O gh.tar.gz | |
| tar -xf gh.tar.gz | |
| sudo cp gh_*/bin/gh /usr/local/bin/ | |
| sudo chmod +x /usr/local/bin/gh | |
| if ! gh --version; then | |
| echo "ERROR: GitHub CLI installation failed!" | |
| exit 1 | |
| fi | |
| echo "GitHub CLI installed successfully" | |
| - name: Setup Docker permissions | |
| run: | | |
| # Ensure Docker is running | |
| sudo systemctl start docker | |
| sudo systemctl enable docker | |
| # Add current user to docker group | |
| sudo usermod -aG docker $USER | |
| # Set proper permissions on docker socket | |
| sudo chmod 666 /var/run/docker.sock | |
| # Verify Docker is working | |
| docker --version | |
| docker info | |
| - uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 0 | |
| - name: Configure git safe directory | |
| run: | | |
| git config --global --add safe.directory '*' | |
| - name: Update submodules | |
| run: | | |
| git submodule update --init --recursive --jobs 4 | |
| - name: Build chdb wheels in container | |
| run: | | |
| docker run --rm -v ${{ github.workspace }}:/workspace --privileged -e GITHUB_REF=${{ github.ref }} \ | |
| quay.io/pypa/musllinux_1_2_aarch64 /bin/sh /workspace/.github/scripts/build-musllinux-arm64.sh | |
| continue-on-error: false | |
| # Check test success before upload | |
| - name: Verify test completion | |
| run: | | |
| echo "=== Verifying test completion ===" | |
| if [ ! -f ".test_success_marker" ]; then | |
| echo "ERROR: Test success marker file not found!" | |
| echo "This indicates that the wheel testing did not complete successfully." | |
| echo "Aborting upload process." | |
| exit 1 | |
| fi | |
| echo "Test success marker found. All tests completed successfully." | |
| echo "Proceeding with wheel upload..." | |
| ls -la ./dist/ | |
| continue-on-error: false | |
| # Upload wheels to release | |
| - name: Upload wheels to release | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| run: | | |
| echo "=== Uploading wheels to release ===" | |
| ls -la ./dist/ | |
| gh release upload ${{ github.ref_name }} ./dist/*.whl --clobber | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} | |
| continue-on-error: true | |
| # Upload to PyPI | |
| - name: Upload pypi | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| run: | | |
| echo "=== Uploading to PyPI ===" | |
| ls -la ./dist/ | |
| python3 -m twine upload dist/*.whl | |
| env: | |
| TWINE_USERNAME: __token__ | |
| TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} | |
| # Upload artifacts | |
| - name: Upload build artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: chdb-artifacts-musllinux-aarch64 | |
| path: | | |
| ./dist/*.whl | |
| overwrite: true |