Merge branch 'master' into develop

This commit is contained in:
Richard van der Hoff 2021-07-13 13:30:16 +01:00
commit 475fcb0f20
5 changed files with 133 additions and 9 deletions

90
.github/workflows/release-artifacts.yml vendored Normal file
View file

@ -0,0 +1,90 @@
# GitHub actions workflow which builds the release artifacts.
name: Build release artifacts
on:
push:
# we build on develop and release branches to (hopefully) get early warning
# of things breaking
branches: ["develop", "release-*"]
# we also rebuild on tags, so that we can be sure of picking the artifacts
# from the right tag.
tags: ["v*"]
permissions:
contents: write
jobs:
# first get the list of distros to build for.
get-distros:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- id: set-distros
run: |
echo "::set-output name=distros::$(scripts-dev/build_debian_packages --show-dists-json)"
# map the step outputs to job outputs
outputs:
distros: ${{ steps.set-distros.outputs.distros }}
# now build the packages with a matrix build.
build-debs:
needs: get-distros
name: "Build .deb packages"
runs-on: ubuntu-latest
strategy:
matrix:
distro: ${{ fromJson(needs.get-distros.outputs.distros) }}
steps:
- uses: actions/checkout@v2
with:
path: src
- uses: actions/setup-python@v2
- run: ./src/scripts-dev/build_debian_packages "${{ matrix.distro }}"
- uses: actions/upload-artifact@v2
with:
name: debs
path: debs/*
build-sdist:
name: "Build pypi distribution files"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- run: pip install wheel
- run: |
python setup.py sdist bdist_wheel
- uses: actions/upload-artifact@v2
with:
name: python-dist
path: dist/*
# if it's a tag, create a release and attach the artifacts to it
attach-assets:
name: "Attach assets to release"
if: startsWith(github.ref, 'refs/tags/')
needs:
- build-debs
- build-sdist
runs-on: ubuntu-latest
steps:
- name: Download all workflow run artifacts
uses: actions/download-artifact@v2
- name: Build a tarball for the debs
run: tar -cvJf debs.tar.xz debs
- name: Attach to release
uses: softprops/action-gh-release@a929a66f232c1b11af63782948aa2210f981808a # PR#109
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: |
python-dist/*
debs.tar.xz
# if it's not already published, keep the release as a draft.
draft: true
# mark it as a prerelease if the tag contains 'rc'.
prerelease: ${{ contains(github.ref, 'rc') }}

View file

@ -1,3 +1,20 @@
Synapse 1.38.0 (2021-07-13)
===========================
This release includes a database schema update which could result in elevated disk usage. See the [upgrade notes](https://matrix-org.github.io/synapse/develop/upgrade#upgrading-to-v1380) for more information.
No significant changes since 1.38.0rc3.
Synapse 1.38.0rc3 (2021-07-13)
==============================
Internal Changes
----------------
- Build the Debian packages in CI. ([\#10247](https://github.com/matrix-org/synapse/issues/10247), [\#10379](https://github.com/matrix-org/synapse/issues/10379))
Synapse 1.38.0rc2 (2021-07-09) Synapse 1.38.0rc2 (2021-07-09)
============================== ==============================
@ -17,8 +34,6 @@ Improved Documentation
Synapse 1.38.0rc1 (2021-07-06) Synapse 1.38.0rc1 (2021-07-06)
============================== ==============================
This release includes a database schema update which could result in elevated disk usage. See the [upgrade notes](https://matrix-org.github.io/synapse/develop/upgrade#upgrading-to-v1380) for more information.
Features Features
-------- --------

14
debian/changelog vendored
View file

@ -1,8 +1,18 @@
matrix-synapse-py3 (1.37.1ubuntu1) UNRELEASED; urgency=medium matrix-synapse-py3 (1.38.0) stable; urgency=medium
* New synapse release 1.38.0.
-- Synapse Packaging team <packages@matrix.org> Tue, 13 Jul 2021 13:20:56 +0100
matrix-synapse-py3 (1.38.0rc3) prerelease; urgency=medium
[ Erik Johnston ]
* Add synapse_review_recent_signups script * Add synapse_review_recent_signups script
-- Erik Johnston <erikj@matrix.org> Thu, 01 Jul 2021 15:55:03 +0100 [ Synapse Packaging team ]
* New synapse release 1.38.0rc3.
-- Synapse Packaging team <packages@matrix.org> Tue, 13 Jul 2021 11:53:56 +0100
matrix-synapse-py3 (1.37.1) stable; urgency=medium matrix-synapse-py3 (1.37.1) stable; urgency=medium

View file

@ -10,6 +10,7 @@
# can be passed on the commandline for debugging. # can be passed on the commandline for debugging.
import argparse import argparse
import json
import os import os
import signal import signal
import subprocess import subprocess
@ -34,6 +35,8 @@ By default, builds for all known distributions, but a list of distributions
can be passed on the commandline for debugging. can be passed on the commandline for debugging.
""" """
projdir = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
class Builder(object): class Builder(object):
def __init__(self, redirect_stdout=False): def __init__(self, redirect_stdout=False):
@ -57,9 +60,6 @@ class Builder(object):
raise raise
def _inner_build(self, dist, skip_tests=False): def _inner_build(self, dist, skip_tests=False):
projdir = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
os.chdir(projdir)
tag = dist.split(":", 1)[1] tag = dist.split(":", 1)[1]
# Make the dir where the debs will live. # Make the dir where the debs will live.
@ -93,6 +93,7 @@ class Builder(object):
], ],
stdout=stdout, stdout=stdout,
stderr=subprocess.STDOUT, stderr=subprocess.STDOUT,
cwd=projdir,
) )
container_name = "synapse_build_" + tag container_name = "synapse_build_" + tag
@ -179,6 +180,11 @@ if __name__ == "__main__":
action="store_true", action="store_true",
help="skip running tests after building", help="skip running tests after building",
) )
parser.add_argument(
"--show-dists-json",
action="store_true",
help="instead of building the packages, just list the dists to build for, as a json array",
)
parser.add_argument( parser.add_argument(
"dist", "dist",
nargs="*", nargs="*",
@ -186,4 +192,7 @@ if __name__ == "__main__":
help="a list of distributions to build for. Default: %(default)s", help="a list of distributions to build for. Default: %(default)s",
) )
args = parser.parse_args() args = parser.parse_args()
run_builds(dists=args.dist, jobs=args.jobs, skip_tests=args.no_check) if args.show_dists_json:
print(json.dumps(DISTS))
else:
run_builds(dists=args.dist, jobs=args.jobs, skip_tests=args.no_check)

View file

@ -47,7 +47,7 @@ try:
except ImportError: except ImportError:
pass pass
__version__ = "1.38.0rc2" __version__ = "1.38.0"
if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)): if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)):
# We import here so that we don't have to install a bunch of deps when # We import here so that we don't have to install a bunch of deps when