Skip to content

talipot-core/GraphImpl: Simplify node/edge iterators implementation #1126

talipot-core/GraphImpl: Simplify node/edge iterators implementation

talipot-core/GraphImpl: Simplify node/edge iterators implementation #1126

name: manylinux-wheel-build
on: [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
manylinux:
name: Talipot manylinux Python wheel build on CentOS 7.9
runs-on: ubuntu-22.04
env:
DOCKER_IMAGE: quay.io/pypa/manylinux2014_x86_64
steps:
- name: Checkout Talipot code
uses: actions/checkout@v4
- name: Get current date
id: get-current-date
run: |
echo "date=$(date -u "+%Y-%m-%d-%H-%m-%S")" >> $GITHUB_OUTPUT
shell: bash
- name: Cache files
uses: actions/cache@v4
with:
path: ~/ccache
key: manylinux2014-ccache-${{ steps.get-current-date.outputs.date }}
restore-keys: |
manylinux2014-ccache-
save-always: true
- name: Pull ${{ env.DOCKER_IMAGE }} docker image
run: docker pull ${DOCKER_IMAGE}
- name: Create ccache docker volume
run: docker create
-v ~/ccache:/ccache
--name ccache
${DOCKER_IMAGE}
- name: Build and upload Talipot Python wheel
run: docker run
-e CCACHE_DIR=/ccache
--volumes-from ccache
-v `pwd`:/talipot:rw
${DOCKER_IMAGE}
/bin/bash -c
"bash -x /talipot/bundlers/linux/talipot_python_wheels_manylinux_build.sh
${{ secrets.TEST_PYPI_API_TOKEN }}
${{ github.ref }}"
- name: Test uploaded wheel
if: github.ref == 'refs/tags/dev-latest'
working-directory: tests/python
run: |
# wait one minute to ensure freshly uploaded wheels are registered on PyPI
sleep 60
sudo apt install python3-pip
pip3 install --upgrade pip --user
pip3 install --index-url https://test.pypi.org/simple/ talipot --user
python3 -c "from talipot import tlp; print(tlp.getLayoutAlgorithmPluginsList())"
TALIPOT_BUILD_DIR= python3 -m unittest discover