-
Notifications
You must be signed in to change notification settings - Fork 592
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
36 changed files
with
2,779 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
name: "Build Debian Package" | ||
description: "Builds a Debian source package using a Docker image" | ||
inputs: | ||
ice_version: | ||
description: "The ICE version to build" | ||
required: true | ||
deb_build_options: | ||
description: "DEB_BUILD_OPTIONS for the build" | ||
required: false | ||
default: "" | ||
os: | ||
description: "The target OS (e.g., ubuntu-24.04, ubuntu-24.04-arm)" | ||
required: true | ||
dockerfile_path: | ||
description: "Path to the Dockerfile" | ||
required: true | ||
|
||
runs: | ||
using: "composite" | ||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Build Docker Image | ||
run: docker build -f ${{ inputs.dockerfile_path }} -t ${{ inputs.docker_image }} . | ||
shell: bash | ||
|
||
- name: Run Package Build with Mounted Source | ||
run: | | ||
mkdir -p output | ||
docker run --rm \ | ||
-v $PWD/ice:/workspace/ice \ | ||
-v $PWD/output:/workspace/build \ | ||
-e ICE_VERSION=${{ inputs.ice_version }} \ | ||
-e DEB_BUILD_OPTIONS="${{ inputs.deb_build_options }}" \ | ||
ice-debian-package-builder | ||
shell: bash | ||
|
||
- name: Upload Artifacts | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: debian-packages-${{ inputs.os }} | ||
path: output/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
name: "Release ICE Debian Packages" | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
ice_version: | ||
description: "The ICE version to build" | ||
required: true | ||
default: "3.8.0~alpha0" | ||
deb_build_options: | ||
description: "DEB_BUILD_OPTIONS for the build" | ||
required: false | ||
default: "nocheck parallel=4" | ||
|
||
jobs: | ||
build: | ||
name: "Build for ${{ matrix.os }}" | ||
runs-on: ${{ matrix.runner }} | ||
strategy: | ||
matrix: | ||
include: | ||
- os: ubuntu-24.04 | ||
runner: ubuntu-24.04 | ||
dockerfile_path: ice/packaging/dpkg/ubuntu-24.04/Dockerfile | ||
|
||
- os: ubuntu-24.04-arm64 | ||
runner: ubuntu-24.04-arm64 | ||
dockerfile_path: ice/packaging/dpkg/ubuntu-24.04-arm/Dockerfile | ||
|
||
steps: | ||
- name: Call Build Debian Package Action | ||
uses: ./.github/actions/build-debian-package | ||
with: | ||
ice_version: ${{ inputs.ice_version }} | ||
deb_build_options: ${{ inputs.deb_build_options }} | ||
os: ${{ matrix.os }} | ||
dockerfile_path: ${{ matrix.dockerfile_path }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#!/bin/bash | ||
set -eux # Exit on error, print commands | ||
|
||
# Ensure ICE_VERSION is set | ||
if [ -z "$ICE_VERSION" ]; then | ||
echo "Error: ICE_VERSION is not set!" | ||
exit 1 | ||
fi | ||
|
||
# Set working directory | ||
cd /workspace | ||
|
||
# Generate the upstream tarball | ||
echo "Creating tarball for ICE_VERSION=$ICE_VERSION" | ||
tar -czf zeroc-ice_${ICE_VERSION}.orig.tar.gz --exclude=debian -C /workspace/ice . | ||
|
||
# Create build directory and unpack | ||
mkdir -p build | ||
cd build | ||
tar xzf ../zeroc-ice_${ICE_VERSION}.orig.tar.gz | ||
|
||
# Copy Debian packaging files and build | ||
cp -rfv ../ice/packaging/dpkg/debian . | ||
dpkg-buildpackage -S | ||
dpkg-buildpackage -b -uc -us |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
*.debhelper | ||
*.log | ||
*.substvars | ||
tmp/* | ||
|
||
.gradle/* | ||
.mh/* | ||
debhelper-build-stamp | ||
files | ||
libzeroc-ice-java/* | ||
libzeroc-ice-dev/* | ||
libzeroc-ice3.7-java/* | ||
libzeroc-ice3.7/* | ||
libzeroc-icestorm3.7/* | ||
php-zeroc-ice/* | ||
python-zeroc-ice/* | ||
python3-zeroc-ice/* | ||
zeroc-glacier2/* | ||
zeroc-ice-all-dev/* | ||
zeroc-ice-all-runtime/* | ||
zeroc-ice-compilers/* | ||
zeroc-ice-slice/* | ||
zeroc-ice-utils-java/* | ||
zeroc-ice-utils/* | ||
zeroc-icebridge/* | ||
zeroc-icebox/* | ||
zeroc-icegrid/* | ||
zeroc-icegridgui/* | ||
zeroc-icepatch2/* | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# Building DEB Packages | ||
|
||
This document describes how to create source and binary DEB packages for Ice as | ||
a regular (non-root) user on your Debian or Ubuntu Linux system. | ||
|
||
## Setup the packaging software | ||
|
||
First we'll install all the tools needed to build the Ice packages on your Ubuntu | ||
system: | ||
|
||
$ sudo apt-get install packaging-dev git-buildpackage | ||
|
||
## Checkout Ice source | ||
|
||
$ git clone [email protected]:zeroc-ice/ice-debian-packaging | ||
$ git checkout -b upstream --track origin/upstream | ||
$ git checkout master | ||
|
||
## Install Ice third-party dependencies | ||
|
||
Now we will install the necessary third-party packages from the system Software | ||
repository. | ||
|
||
$ sudo mk-build-deps --install ice-debian-packaging/debian/control | ||
|
||
## Building the Ice packages | ||
|
||
|
||
$ cd ice-debian-packaging | ||
$ gbp buildpackage | ||
|
||
## Applying a patch | ||
|
||
Refer to the [Debian documentation][1] for information on incorporating patches | ||
into the build. | ||
|
||
[1]: https://www.debian.org/doc/manuals/maint-guide/dother.en.html#patches |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
====================================================================== | ||
The Internet Communications Engine | ||
====================================================================== | ||
|
||
Ice is a comprehensive RPC framework that helps you build distributed | ||
applications with minimal effort using familiar object-oriented idioms. | ||
Ice handles all interactions with low-level network programming | ||
interfaces so that you can focus your efforts on your application logic. | ||
When using Ice, there is no need to worry about details such as opening | ||
network connections, serializing and deserializing data for network | ||
transmission, or retrying failed connection attempts (just to name a | ||
few things). | ||
|
||
Feature highlights: | ||
|
||
- Efficient, high-performance binary protocol | ||
- Supports a wide range of programming languages and platforms | ||
- Easy to use and type-safe API, with your own interfaces and types | ||
defined in a programming language neutral IDL, Slice | ||
- Supports secure, encrypted communications by taking advantage of | ||
your platform's native SSL/TLS stack | ||
- Familiar object-oriented programming model, with the ability to | ||
transmit proxies (references to remote objects) to remote applications | ||
- Supports synchronous and asynchronous calls, for both client-side | ||
invocations and server-side dispatches | ||
- Automatic discovery of remote objects through UDP multicast | ||
- Comes with a number of optional services: | ||
- IceGrid, the nerve-center of any large-scale application, with | ||
support for server deployment, replication, monitoring, | ||
load-balancing and more | ||
- IceStorm, a lightweight topic-based pub-sub service | ||
- Freeze, an embedded, transactional database for Ice datatypes | ||
- Glacier2, a sysadmin-friendly solution for routing Ice | ||
communications through firewalls | ||
- IcePatch2, an efficient software distribution and patching service | ||
|
||
|
||
Getting Started with Ice on Linux | ||
--------------------------------- | ||
|
||
Please visit the 'Using the Linux Binary Distributions' section in the | ||
Ice 3.7.10 release notes: | ||
|
||
https://doc.zeroc.com/rel/ice-releases/ice-3-7/ice-3-7-10-release-notes | ||
|
||
Documentation | ||
------------- | ||
|
||
The full documentation for Ice is available online: | ||
|
||
https://doc.zeroc.com/ice/3.7/ | ||
|
||
Source Code | ||
------------ | ||
|
||
The source code for Ice 3.7.10 is on GitHub: | ||
|
||
https://github.com/zeroc-ice/ice/releases/tag/v3.7.10 |
Oops, something went wrong.