From 95e2a7656d76036420e7e3ef2138fa302e0ebdb3 Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Sun, 1 Oct 2023 13:09:56 +0300 Subject: [PATCH 1/6] Update ruff, run autofix --- .pre-commit-config.yaml | 2 +- scripts/generate_authors.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1b5cf5a0a..a96908e97 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.0.275 + rev: v0.0.291 hooks: - id: ruff args: diff --git a/scripts/generate_authors.py b/scripts/generate_authors.py index 64c0af82e..a5443b91e 100644 --- a/scripts/generate_authors.py +++ b/scripts/generate_authors.py @@ -14,7 +14,7 @@ def get_sorted_authors_list(): def get_authors_file_content(): author_list = "\n".join(f"- {a}" for a in get_sorted_authors_list()) - return ''' + return f''' Babel is written and maintained by the Babel team and various contributors: {author_list} @@ -26,7 +26,7 @@ def get_authors_file_content(): In addition to the regular contributions Babel includes a fork of Lennart Regebro's tzlocal that originally was licensed under the CC0 license. The original copyright of that project is "Copyright 2013 by Lennart Regebro". -'''.format(author_list=author_list) +''' def write_authors_file(): From b41468080d2ddcb4f95842b680f35da4fa3c5b91 Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Sun, 1 Oct 2023 13:01:43 +0300 Subject: [PATCH 2/6] CI: Update action versions --- .github/workflows/build.yml | 4 ++-- .github/workflows/test.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 05935074c..9453bf15c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,10 +12,10 @@ jobs: Build: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: - python-version: "3.10" + python-version: "3.11" cache: "pip" cache-dependency-path: "**/setup.py" - run: pip install build -e . diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a35a1b4f3..f24833745 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,7 +14,7 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: pre-commit/action@v3.0.0 test: runs-on: ${{ matrix.os }} @@ -26,7 +26,7 @@ jobs: BABEL_CLDR_NO_DOWNLOAD_PROGRESS: "1" BABEL_CLDR_QUIET: "1" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions/cache@v3 with: path: cldr From 51041113dd1ed370790e09c294f572b71036f6df Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Sun, 1 Oct 2023 13:03:03 +0300 Subject: [PATCH 3/6] CI: Unify workflow files --- .github/workflows/build.yml | 27 -------------------------- .github/workflows/{test.yml => ci.yml} | 19 +++++++++++++++++- 2 files changed, 18 insertions(+), 28 deletions(-) delete mode 100644 .github/workflows/build.yml rename .github/workflows/{test.yml => ci.yml} (74%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 9453bf15c..000000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: CI -"on": - push: - branches: - - master - - '*-maint' - pull_request: - branches: - - master - - '*-maint' -jobs: - Build: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 - with: - python-version: "3.11" - cache: "pip" - cache-dependency-path: "**/setup.py" - - run: pip install build -e . - - run: make import-cldr - - run: python -m build - - uses: actions/upload-artifact@v3 - with: - name: dist - path: dist diff --git a/.github/workflows/test.yml b/.github/workflows/ci.yml similarity index 74% rename from .github/workflows/test.yml rename to .github/workflows/ci.yml index f24833745..d0abc1057 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -name: Test +name: CI on: push: @@ -48,3 +48,20 @@ jobs: - uses: codecov/codecov-action@v3 with: directory: ${{ runner.temp }} + build: + runs-on: ubuntu-20.04 + needs: lint + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: "3.11" + cache: "pip" + cache-dependency-path: "**/setup.py" + - run: pip install build -e . + - run: make import-cldr + - run: python -m build + - uses: actions/upload-artifact@v3 + with: + name: dist + path: dist From c302d549d0b75fbb8f3bc4b2614e5c58058728a6 Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Sun, 1 Oct 2023 13:08:18 +0300 Subject: [PATCH 4/6] CI: Test on Python 3.12 too --- .github/workflows/ci.yml | 15 +++++++++++++-- tox.ini | 7 ++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d0abc1057..ea5e42193 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,8 +20,18 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: ["ubuntu-20.04", "windows-2022", "macos-11"] - python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "pypy-3.7"] + os: + - "ubuntu-20.04" + - "windows-2022" + - "macos-11" + python-version: + - "3.7" + - "3.8" + - "3.9" + - "3.10" + - "3.11" + - "pypy-3.7" + - "3.12" env: BABEL_CLDR_NO_DOWNLOAD_PROGRESS: "1" BABEL_CLDR_QUIET: "1" @@ -35,6 +45,7 @@ jobs: uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} + allow-prereleases: true # For Python 3.12 cache: "pip" cache-dependency-path: "**/setup.py" - name: Install dependencies diff --git a/tox.ini b/tox.ini index 11cca0c6e..c2d235fb5 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] envlist = - py{37,38,39,310,311} + py{37,38,39,310,311,312} pypy3 py{37,38}-pytz @@ -8,6 +8,10 @@ envlist = extras = dev deps = + # including setuptools here for CI; + # see https://github.com/python/cpython/issues/95299 + # see https://github.com/python-babel/babel/issues/1005#issuecomment-1728105742 + setuptools;python_version>="3.12" backports.zoneinfo;python_version<"3.9" tzdata;sys_platform == 'win32' pytz: pytz @@ -28,3 +32,4 @@ python = 3.9: py39 3.10: py310 3.11: py311 + 3.12: py312 From 1e788443fc73be5536ce6bbbe0f44f970eebb7c1 Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Sun, 1 Oct 2023 13:09:28 +0300 Subject: [PATCH 5/6] CI: use Ubuntu 22.04 instead of 20.04 --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ea5e42193..dd63328de 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: strategy: matrix: os: - - "ubuntu-20.04" + - "ubuntu-22.04" - "windows-2022" - "macos-11" python-version: @@ -60,7 +60,7 @@ jobs: with: directory: ${{ runner.temp }} build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 needs: lint steps: - uses: actions/checkout@v4 From d8dc87b79eb92128be5924bf7d9869ee965a641f Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Sun, 1 Oct 2023 13:24:54 +0300 Subject: [PATCH 6/6] CI: add publish step for version tags --- .github/workflows/ci.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dd63328de..2c0eaafdf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,8 @@ on: branches: - master - '*-maint' + tags: + - 'v*' pull_request: branches: - master @@ -76,3 +78,23 @@ jobs: with: name: dist path: dist + publish: + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') + needs: + - build + runs-on: ubuntu-latest + environment: + name: release + url: https://pypi.org/p/babel/ + permissions: + id-token: write + steps: + - uses: actions/download-artifact@v3 + with: + name: dist + path: dist/ + - name: Publish package distributions to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + verbose: true + print-hash: true