Skip to content

[ref] refactor tests (#15) #26

[ref] refactor tests (#15)

[ref] refactor tests (#15) #26

name: Upload Release package
on:
push:
branches:
- master
jobs:
build:
name: Build project (ubuntu)
runs-on: ubuntu-22.04
env:
DEPLOY_BUILD_PYTHON_VERSION: '3.12'
defaults:
run:
shell: bash
steps:
- name: Checkout PyReindexer repo
uses: actions/checkout@v4
- name: Checkout Reindexer repo
uses: actions/checkout@v4
with:
repository: Restream/reindexer
path: reindexer
- name: Install dependencies
run: |
sudo apt-get update -y
cd reindexer
sudo bash dependencies.sh
- name: Build Reindexer
run: |
cd reindexer
mkdir -p build && cd build
cmake ..
make -j4
sudo make install
- name: Set up Python ${{ env.DEPLOY_BUILD_PYTHON_VERSION }}
uses: actions/setup-python@v5
with:
python-version: ${{ env.DEPLOY_BUILD_PYTHON_VERSION }}
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip build
- name: Build PyReindexer
run: python -m build --sdist
- name: Store build artifacts
uses: actions/upload-artifact@v4
with:
name: build
path: dist/*
deploy:
name: Upload to PyPI (ubuntu)
runs-on: ubuntu-22.04
needs: build
environment:
name: pypi
url: https://pypi.org/p/pyreindexer/
steps:
- name: Fetch build artifacts
uses: actions/download-artifact@v4
with:
name: build
path: dist/
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
verbose: true
# user: __token__ ## used as default
password: pypi-${{ secrets.PYPI_TOKEN }}
test:
strategy:
matrix:
os: [ubuntu-22.04,ubuntu-24.04,macos-14]
fail-fast: false
runs-on: ${{matrix.os}}
env:
# Python 3.12 issue found on MasOS arm64 (darwin) runners, actions/setup-python@v5 incorrect venv setup
BUILD_PYTHON_VERSION: ${{ startsWith(matrix.os, 'macos') && '3.8' || '3.12' }}
needs: deploy
defaults:
run:
shell: bash
steps:
- name: Checkout PyReindexer
uses: actions/checkout@v4
- name: Install Reindexer (MacOS)
if: startsWith(matrix.os, 'macos')
run: |
brew tap restream/reindexer
brew install reindexer
- name: Install Reindexer-Dev\Server (Ubuntu)
if: startsWith(matrix.os, 'ubuntu')
run: |
curl https://repo.reindexer.io/RX-KEY.GPG | sudo apt-key add
if [[ ${{matrix.os}} == ubuntu-22.04 ]]; then
echo 'deb https://repo.reindexer.io/ubuntu-jammy /' | sudo tee -a /etc/apt/sources.list
elif [[ ${{matrix.os}} == ubuntu-24.04 ]]; then
echo 'deb https://repo.reindexer.io/ubuntu-noble /' | sudo tee -a /etc/apt/sources.list
else
echo "${{matrix.os}} not supported"
exit 1
fi
sudo apt-get update -y
sudo apt-get install -y libunwind-dev
sudo apt-get install -y reindexer-dev
sudo apt-get install -y reindexer-server
- name: Set up Python ${{ env.BUILD_PYTHON_VERSION }}
uses: actions/setup-python@v5
env:
PIP_DISABLE_PIP_VERSION_CHECK: 1
with:
python-version: ${{ env.BUILD_PYTHON_VERSION }}
- name: Install PyReindexer
run: |
python -m pip install --upgrade --disable-pip-version-check pip importlib_metadata setuptools wheel
python -m pip install -vvv pyreindexer
- name: Prepare Test Environment
run: python -m pip install -r requirements.txt
- name: Test
run: |
cd $(python -c "import sysconfig; print(sysconfig.get_path('purelib'))")/pyreindexer
$GITHUB_WORKSPACE/.github/workflows/test.sh