summaryrefslogtreecommitdiffstats
path: root/.github/workflows/release.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/release.yml')
-rw-r--r--.github/workflows/release.yml64
1 files changed, 64 insertions, 0 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..6a06173
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,64 @@
+name: Release dnbd3
+
+on:
+ release:
+ types: [published]
+
+jobs:
+ release:
+ name: Release dnbd3
+ # Use very old system (= libc) for building for best compatibility
+ runs-on: ubuntu-18.04
+ steps:
+ - name: Install dnbd3 dependencies
+ run: |
+ sudo apt-get update -y -qq
+ sudo apt-get install -y -qq make \
+ clang-format \
+ linux-headers-generic \
+ libfuse-dev \
+ libjansson-dev \
+ rpm
+ - name: Checkout dnbd3 repository
+ uses: actions/checkout@v4
+ - name: Fetch dnbd3 repository tags
+ run: git fetch --prune --unshallow
+ - name: Configure dnbd3 release
+ run: |
+ cmake -B ${{ github.workspace }}/build \
+ -S ${{ github.workspace }} \
+ -D CMAKE_BUILD_TYPE=Release \
+ -D DNBD3_KERNEL_MODULE=OFF \
+ -D DNBD3_BENCHMARK=OFF \
+ -D DNBD3_SERVER_FUSE=OFF \
+ -D DNBD3_RELEASE_HARDEN=OFF
+ - name: Build dnbd3 artifacts
+ working-directory: ${{ github.workspace }}/build
+ run: make package
+ - name: Create links to artifacts
+ working-directory: ${{ github.workspace }}/build
+ run: |
+ ln -s dnbd3_*.deb dnbd3_linux_x86_64.deb
+ ln -s dnbd3_*.rpm dnbd3_linux_x86_64.rpm
+ ln -s dnbd3_*.tar.gz dnbd3_linux_x86_64.tar.gz
+ - name: Attach Debian artifacts to release
+ uses: svenstaro/upload-release-action@v2
+ with:
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+ file: ${{ github.workspace }}/build/dnbd3_linux_x86_64.deb
+ asset_name: dnbd3_linux_x86_64.deb
+ tag: ${{ github.ref }}
+ - name: Attach RedHat artifacts to release
+ uses: svenstaro/upload-release-action@v2
+ with:
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+ file: ${{ github.workspace }}/build/dnbd3_linux_x86_64.rpm
+ asset_name: dnbd3_linux_x86_64.rpm
+ tag: ${{ github.ref }}
+ - name: Attach generic artifacts to release
+ uses: svenstaro/upload-release-action@v2
+ with:
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+ file: ${{ github.workspace }}/build/dnbd3_linux_x86_64.tar.gz
+ asset_name: dnbd3_linux_x86_64.tar.gz
+ tag: ${{ github.ref }}