aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/packages.yml68
1 files changed, 68 insertions, 0 deletions
diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml
new file mode 100644
index 000000000..7ff7b56be
--- /dev/null
+++ b/.github/workflows/packages.yml
@@ -0,0 +1,68 @@
+name: Publish binary packages
+
+on:
+ push:
+ paths-ignore:
+ - '.devcontainer/**'
+ - 'examples/**'
+ - 'lib/**'
+ - 'man/**'
+ - 'priv/**'
+ - '**.md'
+ pull_request:
+ paths-ignore:
+ - '.devcontainer/**'
+ - 'examples/**'
+ - 'lib/**'
+ - 'man/**'
+ - 'priv/**'
+ - '**.md'
+
+jobs:
+ binaries:
+ name: Binaries
+ runs-on: ubuntu-latest
+ steps:
+ - name: Cache build directory
+ uses: actions/cache@v2
+ with:
+ path: ~/build/
+ key: ${{runner.os}}-ct-ng-1.24.0
+ - name: Install prerequisites
+ run: |
+ sudo apt-get -qq update
+ sudo apt-get -qq install makeself
+ # https://github.com/crosstool-ng/crosstool-ng/blob/master/testing/docker/ubuntu21.10/Dockerfile
+ sudo apt-get -qq install build-essential autoconf bison flex gawk
+ sudo apt-get -qq install help2man libncurses5-dev libtool libtool-bin
+ sudo apt-get -qq install python3-dev texinfo unzip
+ - name: Install FPM
+ run: |
+ gem install --no-document --user-install fpm
+ echo $HOME/.gem/ruby/*/bin >> $GITHUB_PATH
+ - name: Check out repository code
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - name: Build binary archives
+ run: CHECK_DEPS=false tools/make-binaries
+ - name: Build DEB and RPM packages
+ run: tools/make-packages
+ - name: Build installers
+ run: tools/make-installers
+ - name: Collect packages
+ run: |
+ mkdir ejabberd-packages
+ mv ejabberd_*.deb ejabberd-*.rpm ejabberd-*.run ejabberd-packages
+ - name: Upload packages
+ uses: actions/upload-artifact@v3
+ with:
+ name: ejabberd-packages
+ #
+ # Appending the wildcard character ("*") is a trick to make
+ # "ejabberd-packages" the root directory of the uploaded ZIP file:
+ #
+ # https://github.com/actions/upload-artifact#upload-using-multiple-paths-and-exclusions
+ #
+ path: ejabberd-packages*
+ retention-days: 14