From 92504e0beaf2141ef10bcc95a00406dfcb04a43b Mon Sep 17 00:00:00 2001 From: Evgeny Posenitskiy <45995097+q-posev@users.noreply.github.com> Date: Sun, 16 Jun 2024 19:13:59 +0200 Subject: [PATCH] First try macos-arm64 (#137) * First try macos-arm64 * Test new macos-14 runner * Update actions.yml * Install libtool * Install swig * User install for python * Update install_pytrexio.sh * Update install_pytrexio.sh * Update install_pytrexio.sh * Update Makefile.am * Update Makefile.am * Update Makefile.am * Update actions.yml * Update actions.yml * Update install_pytrexio.sh [skip ci] * Update actions.yml * Update Makefile.am * Update actions.yml * Setup venv in CI and not in the installation script --- .github/workflows/actions.yml | 41 ++++++++++++++++++++++++----------- python/install_pytrexio.sh | 3 ++- 2 files changed, 30 insertions(+), 14 deletions(-) diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index e42bfad9..4678b3e2 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -15,7 +15,7 @@ jobs: get_commit_message: name: Get commit message - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 outputs: message: ${{ steps.commit_message.outputs.message }} steps: @@ -33,7 +33,7 @@ jobs: trexio_ubuntu: name: x86 Ubuntu 20.04 - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 needs: get_commit_message steps: @@ -53,8 +53,8 @@ jobs: - name: install dependencies run: | - sudo add-apt-repository ppa:kelleyk/emacs - sudo apt-get install libhdf5-dev emacs26 + sudo apt-get update + sudo apt-get install libhdf5-dev emacs - name: configure with autotools run: | @@ -74,19 +74,24 @@ jobs: name: test-report-ubuntu path: test-suite.log - - name: create virtual environment + - name: create venv run: | - python3 -m venv --clear pytrexio-venv - source pytrexio-venv/bin/activate + python3 -m venv trexio-venv + source trexio-venv/bin/activate - name: install Python API - run: make python-install + run: | + source trexio-venv/bin/activate + make python-install - name: check Python API - run: make python-test + run: | + source trexio-venv/bin/activate + make python-test - name: build and move Python API distribution run: | + source trexio-venv/bin/activate make python-sdist cp python/dist/trexio-*.tar.gz . @@ -105,7 +110,7 @@ jobs: - name: reconfigure with clang and AddressSanitizer run: | ./autogen.sh - ./configure CC=clang-11 CFLAGS="-O2 -fsanitize=address -fno-omit-frame-pointer" LDFLAGS="-fsanitize=address" --enable-silent-rules + ./configure CC=clang-15 CFLAGS="-O2 -fsanitize=address -fno-omit-frame-pointer" LDFLAGS="-fsanitize=address" --enable-silent-rules - name: recompile TREXIO run: make -j2 @@ -124,8 +129,8 @@ jobs: run: make maintainer-clean trexio_macos: - name: x86 MacOS 12 - runs-on: macos-12 + name: arm64 MacOS + runs-on: macos-14 steps: - uses: actions/checkout@e2f20e631ae6d7dd3b768f56a5d2af784dd54791 @@ -135,6 +140,8 @@ jobs: brew install emacs brew install hdf5 brew install automake + brew install libtool + brew install swig brew --prefix hdf5 - name: configure with autotools @@ -148,14 +155,22 @@ jobs: - name: check TREXIO run: make -j3 check + - name: create venv + run: | + python3 -m venv trexio-venv + source trexio-venv/bin/activate + - name: compile Python API run: | export H5_CFLAGS="-I$(brew --prefix hdf5)/include" export H5_LDFLAGS="-L$(brew --prefix hdf5)/lib" + source trexio-venv/bin/activate make python-install - name: test Python API - run: make python-test + run: | + source trexio-venv/bin/activate + make python-test - name: Archive test log file if: failure() diff --git a/python/install_pytrexio.sh b/python/install_pytrexio.sh index d6a07673..9f21dbc6 100755 --- a/python/install_pytrexio.sh +++ b/python/install_pytrexio.sh @@ -63,8 +63,9 @@ else export H5_CFLAGS=${H5_CFLAGS_LOCAL} fi + # Install/upgrade packages required for the installation -python3 -m pip install --upgrade setuptools build pip +python3 -m pip install build python3 -m pip install -r requirements.txt python3 -m pip install pytest