Merge remote-tracking branch 'origin/master' into 3284.remove-magic-folder

This commit is contained in:
Jean-Paul Calderone 2020-04-13 11:50:38 -04:00
commit 20ff76d282
No known key found for this signature in database
GPG Key ID: 86E6F8BAE797C287
12 changed files with 219 additions and 15 deletions

View File

@ -11,11 +11,11 @@ RUN yum install --assumeyes \
git \ git \
sudo \ sudo \
make automake gcc gcc-c++ \ make automake gcc gcc-c++ \
python \ python2 \
python-devel \ python2-devel \
libffi-devel \ libffi-devel \
openssl-devel \ openssl-devel \
libyaml-devel \ libyaml \
/usr/bin/virtualenv \ /usr/bin/virtualenv \
net-tools net-tools

View File

@ -21,7 +21,7 @@ workflows:
requires: requires:
- "fedora-29" - "fedora-29"
- "centos-7" - "centos-8"
- "slackware-14.2" - "slackware-14.2"
@ -67,7 +67,7 @@ workflows:
- "build-image-ubuntu-18.04" - "build-image-ubuntu-18.04"
- "build-image-fedora-28" - "build-image-fedora-28"
- "build-image-fedora-29" - "build-image-fedora-29"
- "build-image-centos-7" - "build-image-centos-8"
- "build-image-slackware-14.2" - "build-image-slackware-14.2"
- "build-image-pypy-2.7-7.1.1-jessie" - "build-image-pypy-2.7-7.1.1-jessie"
@ -269,9 +269,9 @@ jobs:
user: "nobody" user: "nobody"
centos-7: &RHEL_DERIV centos-8: &RHEL_DERIV
docker: docker:
- image: "tahoelafsci/centos:7" - image: "tahoelafsci/centos:8"
user: "nobody" user: "nobody"
environment: *UTF_8_ENVIRONMENT environment: *UTF_8_ENVIRONMENT
@ -481,12 +481,12 @@ jobs:
TAG: "18.04" TAG: "18.04"
build-image-centos-7: build-image-centos-8:
<<: *BUILD_IMAGE <<: *BUILD_IMAGE
environment: environment:
DISTRO: "centos" DISTRO: "centos"
TAG: "7" TAG: "8"
build-image-fedora-28: build-image-fedora-28:

170
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,170 @@
name: CI
on:
push:
pull_request:
jobs:
coverage:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- windows-latest
python-version:
- 2.7
steps:
# Get vcpython27 on Windows + Python 2.7, to build zfec
# extension. See https://chocolatey.org/packages/vcpython27 and
# https://github.com/crazy-max/ghaction-chocolatey
- name: Install MSVC 9.0 for Python 2.7 [Windows]
if: matrix.os == 'windows-latest' && matrix.python-version == '2.7'
uses: crazy-max/ghaction-chocolatey@v1
with:
args: install vcpython27
- name: Check out Tahoe-LAFS sources
uses: actions/checkout@v2
- name: Fetch all history for all tags and branches
run: git fetch --prune --unshallow
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install Python packages
run: |
pip install --upgrade codecov tox setuptools
pip list
- name: Display tool versions
run: python misc/build_helpers/show-tool-versions.py
- name: Run "tox -e coverage"
run: tox -e coverage
- name: Upload eliot.log in case of failure
uses: actions/upload-artifact@v1
if: failure()
with:
name: eliot.log
path: eliot.log
- name: Upload coverage report
uses: codecov/codecov-action@v1
with:
token: abf679b6-e2e6-4b33-b7b5-6cfbd41ee691
file: coverage.xml
integration:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- macos-latest
python-version:
- 2.7
steps:
- name: Install Tor [Ubuntu]
if: matrix.os == 'ubuntu-latest'
run: sudo apt install tor
- name: Install Tor [macOS]
if: matrix.os == 'macos-latest'
run: brew install tor
- name: Install Tor [Windows]
if: matrix.os == 'windows-latest'
uses: crazy-max/ghaction-chocolatey@v1
with:
args: install tor
- name: Install MSVC 9.0 for Python 2.7 [Windows]
if: matrix.os == 'windows-latest' && matrix.python-version == '2.7'
uses: crazy-max/ghaction-chocolatey@v1
with:
args: install vcpython27
- name: Check out Tahoe-LAFS sources
uses: actions/checkout@v2
- name: Fetch all history for all tags and branches
run: git fetch --prune --unshallow
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install Python packages
run: |
pip install --upgrade tox
pip list
- name: Display tool versions
run: python misc/build_helpers/show-tool-versions.py
- name: Run "tox -e integration"
run: tox -e integration
- name: Upload eliot.log in case of failure
uses: actions/upload-artifact@v1
if: failure()
with:
name: integration.eliot.json
path: integration.eliot.json
packaging:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- windows-latest
- ubuntu-latest
python-version:
- 2.7
steps:
# Get vcpython27 on Windows + Python 2.7, to build zfec
# extension. See https://chocolatey.org/packages/vcpython27 and
# https://github.com/crazy-max/ghaction-chocolatey
- name: Install MSVC 9.0 for Python 2.7 [Windows]
if: matrix.os == 'windows-latest' && matrix.python-version == '2.7'
uses: crazy-max/ghaction-chocolatey@v1
with:
args: install vcpython27
- name: Check out Tahoe-LAFS sources
uses: actions/checkout@v2
- name: Fetch all history for all tags and branches
run: git fetch --prune --unshallow
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install Python packages
run: |
pip install --upgrade codecov tox setuptools
pip list
- name: Display tool versions
run: python misc/build_helpers/show-tool-versions.py
- name: Run "tox -e pyinstaller"
run: tox -e pyinstaller

View File

@ -17,13 +17,14 @@ people are Release Maintainers:
- [ ] all appveyor checks pass - [ ] all appveyor checks pass
- [ ] all buildbot workers pass their checks - [ ] all buildbot workers pass their checks
* freeze master branch [0/] * freeze master branch [0/1]
- [ ] announced the freeze of the master branch on IRC (i.e. non-release PRs won't be merged until after release) - [ ] announced the freeze of the master branch on IRC (i.e. non-release PRs won't be merged until after release)
* sync documentation [0/7] * sync documentation [0/7]
- [ ] NEWS.rst: summarize user-visible changes, aim for one page of text
- [ ] NEWS.rst: (run "tox -e news")
- [ ] added final release name and date to top-most item in NEWS.rst - [ ] added final release name and date to top-most item in NEWS.rst
- [ ] updated relnotes.txt - [ ] updated relnotes.txt (change next, last versions; summarize NEWS)
- [ ] updated CREDITS - [ ] updated CREDITS
- [ ] updated docs/known_issues.rst - [ ] updated docs/known_issues.rst
- [ ] docs/INSTALL.rst only points to current tahoe-lafs-X.Y.Z.tar.gz source code file - [ ] docs/INSTALL.rst only points to current tahoe-lafs-X.Y.Z.tar.gz source code file

1
newsfragments/3275.minor Normal file
View File

@ -0,0 +1 @@
Updates to release process/docs

0
newsfragments/3277.minor Normal file
View File

0
newsfragments/3285.minor Normal file
View File

View File

@ -0,0 +1 @@
Tahoe-LAFS now supports CentOS 8 and no longer supports CentOS 7.

0
newsfragments/3297.minor Normal file
View File

0
newsfragments/3298.minor Normal file
View File

View File

@ -17,7 +17,8 @@ buildPythonPackage rec {
# Fails intermittently. # Fails intermittently.
substituteInPlace eliot/tests/test_validation.py \ substituteInPlace eliot/tests/test_validation.py \
--replace "def test_omitLoggerFromActionType" "def xtest_omitLoggerFromActionType" --replace "def test_omitLoggerFromActionType" "def xtest_omitLoggerFromActionType" \
--replace "def test_logCallsDefaultLoggerWrite" "def xtest_logCallsDefaultLoggerWrite"
''; '';
checkInputs = [ testtools pytest hypothesis ]; checkInputs = [ testtools pytest hypothesis ];

34
tox.ini
View File

@ -53,7 +53,7 @@ setenv =
COVERAGE_PROCESS_START=.coveragerc COVERAGE_PROCESS_START=.coveragerc
commands = commands =
# NOTE: 'run with "py.test --keep-tempdir -s -v integration/" to debug failures' # NOTE: 'run with "py.test --keep-tempdir -s -v integration/" to debug failures'
py.test --coverage -v integration/ py.test --coverage -v {posargs:integration}
coverage combine coverage combine
coverage report coverage report
@ -115,6 +115,37 @@ commands =
# put it back # put it back
mv pyproject.toml towncrier.pyproject.toml mv pyproject.toml towncrier.pyproject.toml
[testenv:news]
passenv = TAHOE_LAFS_* PIP_* SUBUNITREPORTER_* USERPROFILE HOMEDRIVE HOMEPATH
# see comment in [testenv] about "certifi"
whitelist_externals = mv
deps =
certifi
towncrier >= 19.2
commands =
# With pip >= 10 the existence of pyproject.toml (which we are
# required to have to configure towncrier) triggers a "build
# isolation" mode which prevents anything from working. Avoid
# triggering that pip behavior by keeping the towncrier configuration
# somewhere else and only bringing it in when it's actually needed
# (after pip is done).
#
# Some discussion is available at
# https://github.com/pypa/pip/issues/5696
#
# towncrier post 19.2 (unreleased as of this writing) adds a --config
# option that can be used instead of this file shuffling.
mv towncrier.pyproject.toml pyproject.toml
# towncrier 19.2 + works with python2.7
python -m towncrier --yes
# put it back
mv pyproject.toml towncrier.pyproject.toml
# commit the changes
git commit -m "update NEWS.txt for release"
[testenv:deprecations] [testenv:deprecations]
setenv = setenv =
PYTHONWARNINGS=default::DeprecationWarning PYTHONWARNINGS=default::DeprecationWarning
@ -127,7 +158,6 @@ setenv =
deps = deps =
# Take the base deps as well! # Take the base deps as well!
{[testenv]deps} {[testenv]deps}
git+https://github.com/twisted/twisted
git+https://github.com/warner/foolscap git+https://github.com/warner/foolscap
commands = commands =
flogtool --version flogtool --version