Explorar o código

github CI: misc updates

- macOS: run on macos-14 (on Apple Silicon!)
- macOS: use OpenSSL 3.0 from brew
- macOS: run with Python 3.11
- pip install -e .: add -v
- use up-to-date github actions
- remove libb2 references - since borg 1.2, we use blake2 indirectly via python stdlib
Thomas Waldmann hai 1 ano
pai
achega
670cb6eb3f
Modificáronse 4 ficheiros con 19 adicións e 20 borrados
  1. 13 13
      .github/workflows/ci.yml
  2. 5 5
      .github/workflows/codeql-analysis.yml
  3. 1 1
      Brewfile
  4. 0 1
      docs/global.rst.inc

+ 13 - 13
.github/workflows/ci.yml

@@ -37,7 +37,7 @@ jobs:
     timeout-minutes: 5
     timeout-minutes: 5
 
 
     steps:
     steps:
-    - uses: actions/checkout@v3
+    - uses: actions/checkout@v4
     - uses: chartboost/ruff-action@v1
     - uses: chartboost/ruff-action@v1
 
 
   linux:
   linux:
@@ -73,7 +73,7 @@ jobs:
     timeout-minutes: 120
     timeout-minutes: 120
 
 
     steps:
     steps:
-    - uses: actions/checkout@v3
+    - uses: actions/checkout@v4
       with:
       with:
         # just fetching 1 commit is not enough for setuptools-scm, so we fetch all
         # just fetching 1 commit is not enough for setuptools-scm, so we fetch all
         fetch-depth: 0
         fetch-depth: 0
@@ -129,29 +129,29 @@ jobs:
       fail-fast: true
       fail-fast: true
       matrix:
       matrix:
         include:
         include:
-            - os: macos-12
+            - os: macos-14
               python-version: '3.11'
               python-version: '3.11'
               toxenv: py311-none  # note: no fuse testing, due to #6099, see also #6196.
               toxenv: py311-none  # note: no fuse testing, due to #6099, see also #6196.
 
 
     env:
     env:
       # Configure pkg-config to use OpenSSL from Homebrew
       # Configure pkg-config to use OpenSSL from Homebrew
-      PKG_CONFIG_PATH: "/usr/local/opt/openssl@1.1/lib/pkgconfig:$PKG_CONFIG_PATH"
+      PKG_CONFIG_PATH: "/usr/local/opt/openssl@3.0/lib/pkgconfig:$PKG_CONFIG_PATH"
       TOXENV: ${{ matrix.toxenv }}
       TOXENV: ${{ matrix.toxenv }}
 
 
     runs-on: ${{ matrix.os }}
     runs-on: ${{ matrix.os }}
     timeout-minutes: 180
     timeout-minutes: 180
 
 
     steps:
     steps:
-    - uses: actions/checkout@v3
+    - uses: actions/checkout@v4
       with:
       with:
         # just fetching 1 commit is not enough for setuptools-scm, so we fetch all
         # just fetching 1 commit is not enough for setuptools-scm, so we fetch all
         fetch-depth: 0
         fetch-depth: 0
     - name: Set up Python ${{ matrix.python-version }}
     - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v4
+      uses: actions/setup-python@v5
       with:
       with:
         python-version: ${{ matrix.python-version }}
         python-version: ${{ matrix.python-version }}
     - name: Cache pip
     - name: Cache pip
-      uses: actions/cache@v3
+      uses: actions/cache@v4
       with:
       with:
         path: ~/.cache/pip
         path: ~/.cache/pip
         key: ${{ runner.os }}-pip-${{ hashFiles('requirements.d/development.txt') }}
         key: ${{ runner.os }}-pip-${{ hashFiles('requirements.d/development.txt') }}
@@ -170,21 +170,21 @@ jobs:
       env:
       env:
         # we already have that in the global env, but something is broken and overwrites that.
         # we already have that in the global env, but something is broken and overwrites that.
         # so, set it here, again.
         # so, set it here, again.
-        PKG_CONFIG_PATH: "/usr/local/opt/openssl@1.1/lib/pkgconfig:$PKG_CONFIG_PATH"
+        PKG_CONFIG_PATH: "/usr/local/opt/openssl@3.0/lib/pkgconfig:$PKG_CONFIG_PATH"
       run: |
       run: |
-        pip install -e .
+        pip install -ve .
     - name: run tox env
     - name: run tox env
       env:
       env:
         # we already have that in the global env, but something is broken and overwrites that.
         # we already have that in the global env, but something is broken and overwrites that.
         # so, set it here, again.
         # so, set it here, again.
-        PKG_CONFIG_PATH: "/usr/local/opt/openssl@1.1/lib/pkgconfig:$PKG_CONFIG_PATH"
+        PKG_CONFIG_PATH: "/usr/local/opt/openssl@3.0/lib/pkgconfig:$PKG_CONFIG_PATH"
         XDISTN: "6"
         XDISTN: "6"
       run: |
       run: |
         # do not use fakeroot, but run as root. avoids the dreaded EISDIR sporadic failures. see #2482.
         # do not use fakeroot, but run as root. avoids the dreaded EISDIR sporadic failures. see #2482.
         #sudo -E bash -c "tox -e py"
         #sudo -E bash -c "tox -e py"
         tox --skip-missing-interpreters
         tox --skip-missing-interpreters
     - name: Upload coverage to Codecov
     - name: Upload coverage to Codecov
-      uses: codecov/codecov-action@v3
+      uses: codecov/codecov-action@v4
       env:
       env:
         OS: ${{ runner.os }}
         OS: ${{ runner.os }}
         python: ${{ matrix.python-version }}
         python: ${{ matrix.python-version }}
@@ -207,7 +207,7 @@ jobs:
         shell: msys2 {0}
         shell: msys2 {0}
 
 
     steps:
     steps:
-      - uses: actions/checkout@v3
+      - uses: actions/checkout@v4
         with:
         with:
           fetch-depth: 0
           fetch-depth: 0
       - uses: msys2/setup-msys2@v2
       - uses: msys2/setup-msys2@v2
@@ -223,7 +223,7 @@ jobs:
           pyinstaller -y scripts/borg.exe.spec
           pyinstaller -y scripts/borg.exe.spec
           # build sdist and wheel in dist/...
           # build sdist and wheel in dist/...
           SETUPTOOLS_USE_DISTUTILS=stdlib python -m build
           SETUPTOOLS_USE_DISTUTILS=stdlib python -m build
-      - uses: actions/upload-artifact@v3
+      - uses: actions/upload-artifact@v4
         with:
         with:
           name: borg-windows
           name: borg-windows
           path: dist/borg.exe
           path: dist/borg.exe

+ 5 - 5
.github/workflows/codeql-analysis.yml

@@ -29,16 +29,16 @@ jobs:
 
 
     steps:
     steps:
     - name: Checkout repository
     - name: Checkout repository
-      uses: actions/checkout@v3
+      uses: actions/checkout@v4
       with:
       with:
         # just fetching 1 commit is not enough for setuptools-scm, so we fetch all
         # just fetching 1 commit is not enough for setuptools-scm, so we fetch all
         fetch-depth: 0
         fetch-depth: 0
     - name: Set up Python
     - name: Set up Python
-      uses: actions/setup-python@v4
+      uses: actions/setup-python@v5
       with:
       with:
-        python-version: 3.9
+        python-version: 3.11
     - name: Cache pip
     - name: Cache pip
-      uses: actions/cache@v3
+      uses: actions/cache@v4
       with:
       with:
         path: ~/.cache/pip
         path: ~/.cache/pip
         key: ${{ runner.os }}-pip-${{ hashFiles('requirements.d/development.txt') }}
         key: ${{ runner.os }}-pip-${{ hashFiles('requirements.d/development.txt') }}
@@ -64,6 +64,6 @@ jobs:
         python3 -m venv ../borg-env
         python3 -m venv ../borg-env
         source ../borg-env/bin/activate
         source ../borg-env/bin/activate
         pip3 install -r requirements.d/development.txt
         pip3 install -r requirements.d/development.txt
-        pip3 install -e .
+        pip3 install -ve .
     - name: Perform CodeQL Analysis
     - name: Perform CodeQL Analysis
       uses: github/codeql-action/analyze@v2
       uses: github/codeql-action/analyze@v2

+ 1 - 1
Brewfile

@@ -2,7 +2,7 @@ brew 'pkg-config'
 brew 'zstd'
 brew 'zstd'
 brew 'lz4'
 brew 'lz4'
 brew 'xxhash'
 brew 'xxhash'
-brew 'openssl@1.1'
+brew 'openssl@3.0'
 
 
 # osxfuse (aka macFUSE) is only required for "borg mount",
 # osxfuse (aka macFUSE) is only required for "borg mount",
 # but won't work on github actions' workers.
 # but won't work on github actions' workers.

+ 0 - 1
docs/global.rst.inc

@@ -16,7 +16,6 @@
 .. _libattr: https://savannah.nongnu.org/projects/attr/
 .. _libattr: https://savannah.nongnu.org/projects/attr/
 .. _liblz4: https://github.com/Cyan4973/lz4
 .. _liblz4: https://github.com/Cyan4973/lz4
 .. _libzstd: https://github.com/facebook/zstd
 .. _libzstd: https://github.com/facebook/zstd
-.. _libb2: https://github.com/BLAKE2/libb2
 .. _OpenSSL: https://www.openssl.org/
 .. _OpenSSL: https://www.openssl.org/
 .. _`Python 3`: https://www.python.org/
 .. _`Python 3`: https://www.python.org/
 .. _Buzhash: https://en.wikipedia.org/wiki/Buzhash
 .. _Buzhash: https://en.wikipedia.org/wiki/Buzhash