From cdae28ee42afe8aedfddc44a192da9922a803e9b Mon Sep 17 00:00:00 2001 From: Vojta Tuma Date: Tue, 11 Feb 2025 15:30:42 +0100 Subject: [PATCH] Switch to reusable action --- .github/workflows/build-wheel-linux.yml | 46 ----------------------- .github/workflows/build-wheel-wrapper.yml | 25 ++++++++++++ 2 files changed, 25 insertions(+), 46 deletions(-) delete mode 100644 .github/workflows/build-wheel-linux.yml create mode 100644 .github/workflows/build-wheel-wrapper.yml diff --git a/.github/workflows/build-wheel-linux.yml b/.github/workflows/build-wheel-linux.yml deleted file mode 100644 index 24a7add98..000000000 --- a/.github/workflows/build-wheel-linux.yml +++ /dev/null @@ -1,46 +0,0 @@ -# (C) Copyright 2024- ECMWF. -# -# This software is licensed under the terms of the Apache Licence Version 2.0 -# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. -# In applying this licence, ECMWF does not waive the privileges and immunities -# granted to it by virtue of its status as an intergovernmental organisation -# nor does it submit to any jurisdiction. - - -name: Build Python Wheel for Linux - -on: - # Trigger the workflow manually - workflow_dispatch: ~ - - # Allow to be called from another workflow - workflow_call: ~ - - # TODO automation trigger - -jobs: - build: - name: Build manylinux_2_28 - runs-on: [self-hosted, Linux, platform-builder-Rocky-8.6] - # TODO which manylinux do we want to build for? 2014? 2_28? 2_34? Matrix? - container: - image: eccr.ecmwf.int/wheelmaker/2_28:latest - credentials: - username: ${{ secrets.ECMWF_DOCKER_REGISTRY_USERNAME }} - password: ${{ secrets.ECMWF_DOCKER_REGISTRY_ACCESS_TOKEN }} - steps: - # TODO convert this to be matrix-friendly. Note it's a bit tricky since - # we'd ideally not reexecute the compile step multiple times, but it - # (non-essentially) depends on a matrix-based step - # NOTE we dont use action checkout because it doesnt cleanup after itself correctly - - run: git clone --depth=1 --branch="${GITHUB_REF#refs/heads/}" https://github.com/$GITHUB_REPOSITORY /proj - - run: cd /proj && /buildscripts/prepare_deps.sh ./python_wrapper/buildconfig 3.11 - - run: cd /proj && /buildscripts/compile.sh ./python_wrapper/buildconfig - - run: cd /proj && PYTHONPATH=/buildscripts /buildscripts/wheel-linux.sh ./python_wrapper/buildconfig 3.11 - - run: cd /proj && /buildscripts/test-wheel.sh ./python_wrapper/buildconfig 3.11 - - run: cd /proj && /buildscripts/upload-pypi.sh ./python_wrapper/buildconfig - env: - TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} - # NOTE temporary thing until all the mess gets cleared - - run: rm -rf ./* ./.git ./.github diff --git a/.github/workflows/build-wheel-wrapper.yml b/.github/workflows/build-wheel-wrapper.yml new file mode 100644 index 000000000..bea8ed8c3 --- /dev/null +++ b/.github/workflows/build-wheel-wrapper.yml @@ -0,0 +1,25 @@ +# (C) Copyright 2024- ECMWF. +# +# This software is licensed under the terms of the Apache Licence Version 2.0 +# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. +# In applying this licence, ECMWF does not waive the privileges and immunities +# granted to it by virtue of its status as an intergovernmental organisation +# nor does it submit to any jurisdiction. + + +name: Build Python Wrapper Wheel + +on: + # Trigger the workflow manually + workflow_dispatch: ~ + + # Allow to be called from another workflow + workflow_call: ~ + + # TODO automation trigger + +jobs: + python-wrapper-wheel: + name: Python Wrapper Wheel + uses: ecmwf-actions/reusable-workflows/.github/workflows/python-wrapper-wheel.yml@main + secrets: inherit