Build the python release artifacts in GHA too
1 files changed, 64 insertions, 0 deletions
diff --git a/.github/workflows/release-artifacts.yml b/.github/workflows/release-artifacts.yml
new file mode 100644
index 0000000000..9d1fb89834
--- /dev/null
+++ b/.github/workflows/release-artifacts.yml
@@ -0,0 +1,64 @@
+# 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: read
+
+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/*
|