From e9bd3d15ae4f4103f9af2c774158c6717ba00e82 Mon Sep 17 00:00:00 2001 From: PascalEgn Date: Wed, 17 Jul 2024 18:05:53 +0200 Subject: [PATCH] Upgrade actions and code to python 3.11 --- .../{build-and-release.yml => publish.yml} | 27 ++++-------- .github/workflows/pull-request-master.yml | 10 +++++ .github/workflows/push-master.yml | 16 +++++++ .github/workflows/test-python-3.yml | 42 +++++++++++++++++++ setup.py | 4 +- 5 files changed, 79 insertions(+), 20 deletions(-) rename .github/workflows/{build-and-release.yml => publish.yml} (56%) create mode 100644 .github/workflows/pull-request-master.yml create mode 100644 .github/workflows/push-master.yml create mode 100644 .github/workflows/test-python-3.yml diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/publish.yml similarity index 56% rename from .github/workflows/build-and-release.yml rename to .github/workflows/publish.yml index a52c7a7..743301a 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/publish.yml @@ -1,24 +1,21 @@ -name: Build and release +name: Bump package version and publish to pypi on: - push: - branches: [master] - pull_request: - branches: [master] + workflow_call: jobs: - Test: - runs-on: ubuntu-20.04 + publish: + runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: "3.11" - name: Install python dependencies run: | @@ -28,21 +25,15 @@ jobs: - name: Show python dependencies run: | + python3 --version pip freeze - - name: Run tests - run: | - ./run-tests.sh - - name: Build package - if: ${{ success() && github.event_name == 'push' }} run: | python setup.py sdist bdist_wheel - name: Publish package - if: ${{ success() && github.event_name == 'push' }} - uses: pypa/gh-action-pypi-publish@v1.3.1 + uses: pypa/gh-action-pypi-publish@v1.9.0 with: user: __token__ password: ${{ secrets.pypi_password }} - diff --git a/.github/workflows/pull-request-master.yml b/.github/workflows/pull-request-master.yml new file mode 100644 index 0000000..634a64d --- /dev/null +++ b/.github/workflows/pull-request-master.yml @@ -0,0 +1,10 @@ +name: Pull request master + +on: + pull_request: + branches: + - master + +jobs: + python3_tests: + uses: ./.github/workflows/test-python-3.yml diff --git a/.github/workflows/push-master.yml b/.github/workflows/push-master.yml new file mode 100644 index 0000000..9b80cb6 --- /dev/null +++ b/.github/workflows/push-master.yml @@ -0,0 +1,16 @@ +name: Pull request master + +on: + push: + branches: + - master + +jobs: + python3_tests: + uses: ./.github/workflows/test-python-3.yml + + bump_version: + needs: [python3_tests] + uses: ./.github/workflows/publish.yml + secrets: inherit + diff --git a/.github/workflows/test-python-3.yml b/.github/workflows/test-python-3.yml new file mode 100644 index 0000000..8ad3170 --- /dev/null +++ b/.github/workflows/test-python-3.yml @@ -0,0 +1,42 @@ +name: Test Python 3 + +on: + workflow_call: + +jobs: + test: + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: true + matrix: + python-version: ["3.9", "3.10", "3.11"] + experimental: [false] + include: + - python-version: "3.x" + check-latest: true + experimental: true + + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -e .[tests,opensearch2] + + - name: Show python dependencies + run: | + python3 --version + pip freeze + + - name: Run tests + run: | + ./run-tests.sh diff --git a/setup.py b/setup.py index 242dc51..7ff832d 100644 --- a/setup.py +++ b/setup.py @@ -36,9 +36,9 @@ ] install_requires = [ - 'inspire-json-merger~=11.0,>=11.0.0', + 'inspire-json-merger @ git+https://github.com/PascalEgn/inspire-json-merger.git@bump_py11', 'dictdiffer>=0.9.0', - 'inspire-utils~=3.0,>=3.0.0', + 'inspire-utils @ git+https://github.com/PascalEgn/inspire-utils.git@add-hepcrawl-parsers', 'invenio-search>=1.0.0a10', 'six~=1.0,>=1.11.0', 'invenio-base>=1.2.3,<2.0.0',