Add new runner ubuntu-24.04 and use one python. ReReFix #111
This file contains 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: Upload Release package to TestPyPI (with testing) | |
on: | |
pull_request: | |
types: [opened, reopened] | |
# ToDo remove after testing | |
push: | |
branches-ignore: | |
- master | |
jobs: | |
build: | |
name: Build project (Ubuntu) | |
runs-on: ubuntu-22.04 | |
env: | |
BUILD_PYTHON_VERSION: '>=3.9' | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Checkout PyReindexer | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: | | |
sudo apt-get update -y | |
curl -L https://github.com/Restream/reindexer/raw/master/dependencies.sh | sudo bash -s | |
- name: Checkout Reindexer repo | |
uses: actions/checkout@v4 | |
with: | |
repository: Restream/reindexer | |
path: reindexer | |
- name: Build Reindexer | |
run: | | |
cd reindexer | |
mkdir -p build && cd build | |
cmake .. | |
make -j8 | |
sudo make install | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ env.BUILD_PYTHON_VERSION }} | |
- name: Install Python dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install 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 TestPyPI (Ubuntu) | |
runs-on: ubuntu-22.04 | |
needs: build | |
environment: | |
name: testpypi | |
url: https://test.pypi.org/p/pyreindexer/ | |
permissions: | |
id-token: write | |
steps: | |
- name: Fetch build artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: build | |
path: dist/ | |
- name: Publish package distributions to TestPyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
# ToDo skip-existing remove after testing | |
skip-existing: true | |
# verbose: true | |
# user: __token__ ## used as default | |
password: pypi-${{ secrets.TESTPYPI_TOKEN }} | |
repository-url: https://test.pypi.org/legacy/ | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-20.04,ubuntu-22.04,ubuntu-24.04,macos-14] | |
runs-on: ${{matrix.os}} | |
env: | |
OS: ${{matrix.os}} | |
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 [[ $OS == ubuntu-20.04 ]]; then | |
echo 'deb https://repo.reindexer.io/ubuntu-focal /' | sudo tee -a /etc/apt/sources.list | |
else | |
echo 'deb https://repo.reindexer.io/ubuntu-jammy /' | sudo tee -a /etc/apt/sources.list | |
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 pip importlib_metadata setuptools wheel | |
python -m pip install --index-url https://test.pypi.org/simple/ --no-deps 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 |