mirror of
https://github.com/borgbackup/borg.git
synced 2025-01-03 05:35:58 +00:00
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
This commit is contained in:
parent
b82bf4a232
commit
670cb6eb3f
4 changed files with 19 additions and 20 deletions
26
.github/workflows/ci.yml
vendored
26
.github/workflows/ci.yml
vendored
|
@ -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
|
||||||
|
|
10
.github/workflows/codeql-analysis.yml
vendored
10
.github/workflows/codeql-analysis.yml
vendored
|
@ -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
|
||||||
|
|
2
Brewfile
2
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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue