Skip to content

Commit

Permalink
[signal] update signal-cli to 0.12.2 (#64)
Browse files Browse the repository at this point in the history
  • Loading branch information
MichaelBitard committed Oct 4, 2023
1 parent 40dd892 commit cad2e6a
Show file tree
Hide file tree
Showing 13 changed files with 32 additions and 101 deletions.
95 changes: 10 additions & 85 deletions .github/workflows/build-libsignal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: build-libsignal
on: workflow_dispatch

env:
LIBSIGNAL_VERSION: '0.21.1'
LIBSIGNAL_VERSION: '0.32.1'
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1

jobs:
Expand All @@ -12,9 +12,12 @@ jobs:
steps:
- uses: actions/checkout@v3
- run: |
wget https://github.com/signalapp/libsignal/releases/download/v${{ env.LIBSIGNAL_VERSION }}/libsignal_jni.so
curl -Lo libsignal-client.jar "https://repo1.maven.org/maven2/org/signal/libsignal-client/${{ env.LIBSIGNAL_VERSION }}/libsignal-client-${{ env.LIBSIGNAL_VERSION }}.jar"
unzip libsignal-client.jar -d libsignal_folder/
mkdir -p /home/runner/work/hassio-addons/hassio-addons/signal/root/ext/libraries/libsignal-client/v${{ env.LIBSIGNAL_VERSION }}/x86-64
mv /home/runner/work/hassio-addons/hassio-addons/libsignal_jni.so /home/runner/work/hassio-addons/hassio-addons/signal/root/ext/libraries/libsignal-client/v${{ env.LIBSIGNAL_VERSION }}/x86-64/libsignal_jni.so
mv /home/runner/work/hassio-addons/hassio-addons/libsignal_folder/libsignal_jni.so /home/runner/work/hassio-addons/hassio-addons/signal/root/ext/libraries/libsignal-client/v${{ env.LIBSIGNAL_VERSION }}/x86-64/libsignal_jni.so
rm -rf /home/runner/work/hassio-addons/hassio-addons/libsignal_folder/
rm libsignal-client.jar
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v4
Expand All @@ -29,50 +32,11 @@ jobs:
build-arm64:
runs-on: ubuntu-latest
steps:
- name: Maximize build space
uses: easimon/maximize-build-space@master
with:
root-reserve-mb: 10240
swap-size-mb: 30720
remove-dotnet: 'true'
remove-haskell: 'true'
remove-android: 'true'
- run: |
echo "Free space:"
df -h
- uses: actions/checkout@v3
- run: |
mkdir -p /home/runner/work/hassio-addons/hassio-addons/signal/root/ext/libraries/libsignal-client/v${{ env.LIBSIGNAL_VERSION }}
curl -Lo libsignal_jni.so "https://gitlab.com/packaging/libsignal-client/-/jobs/artifacts/v${{ env.LIBSIGNAL_VERSION }}/raw/libsignal-client/arm64/libsignal_jni.so?job=libsignal-client-arm64"
mkdir -p /home/runner/work/hassio-addons/hassio-addons/signal/root/ext/libraries/libsignal-client/v${{ env.LIBSIGNAL_VERSION }}/arm64
wget https://github.com/signalapp/libsignal/archive/refs/tags/v${{ env.LIBSIGNAL_VERSION }}.zip
unzip v${{ env.LIBSIGNAL_VERSION }}.zip
cd libsignal-${{ env.LIBSIGNAL_VERSION }}
mkdir -p .cargo
CARGO_HOME=$PWD/cargo cargo vendor vendor > .cargo/config.toml
cat .cargo/config.toml
- uses: pguyot/arm-runner-action@v2
with:
base_image: dietpi:rpi_armv8_bullseye
cpu: cortex-a53
cpu_info: cpuinfo/raspberrypi_zero2_w_arm64
image_additional_mb: 8192
shell: /bin/bash
bind_mount_repository: true
commands: |
test `uname -m` = aarch64
grep Model /proc/cpuinfo
free -h
swapon -s
apt update -y
apt install -y clang libclang-dev cmake make libprotobuf-dev protobuf-compiler
curl https://sh.rustup.rs -sSf | sh -s -- -y
source "$HOME/.cargo/env"
cd libsignal-${{ env.LIBSIGNAL_VERSION }}
cargo build --jobs 1 -p libsignal-jni --release --offline
cp ./target/release/libsignal_jni.so ../signal/root/ext/libraries/libsignal-client/v${{ env.LIBSIGNAL_VERSION }}/arm64/libsignal_jni.so
cd ..
rm -rf libsignal-${{ env.LIBSIGNAL_VERSION }}
rm v${{ env.LIBSIGNAL_VERSION }}.zip
mv /home/runner/work/hassio-addons/hassio-addons/libsignal_jni.so /home/runner/work/hassio-addons/hassio-addons/signal/root/ext/libraries/libsignal-client/v${{ env.LIBSIGNAL_VERSION }}/arm64/libsignal_jni.so
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v4
Expand All @@ -87,50 +51,11 @@ jobs:
build-armv7:
runs-on: ubuntu-latest
steps:
- name: Maximize build space
uses: easimon/maximize-build-space@master
with:
root-reserve-mb: 10240
swap-size-mb: 30720
remove-dotnet: 'true'
remove-haskell: 'true'
remove-android: 'true'
- run: |
echo "Free space:"
df -h
- uses: actions/checkout@v3
- run: |
mkdir -p /home/runner/work/hassio-addons/hassio-addons/signal/root/ext/libraries/libsignal-client/v${{ env.LIBSIGNAL_VERSION }}
curl -Lo libsignal_jni.so "https://gitlab.com/packaging/libsignal-client/-/jobs/artifacts/v${{ env.LIBSIGNAL_VERSION }}/raw/libsignal-client/armv7/libsignal_jni.so?job=libsignal-client-armv7"
mkdir -p /home/runner/work/hassio-addons/hassio-addons/signal/root/ext/libraries/libsignal-client/v${{ env.LIBSIGNAL_VERSION }}/armv7
wget https://github.com/signalapp/libsignal/archive/refs/tags/v${{ env.LIBSIGNAL_VERSION }}.zip
unzip v${{ env.LIBSIGNAL_VERSION }}.zip
cd libsignal-${{ env.LIBSIGNAL_VERSION }}
mkdir -p .cargo
CARGO_HOME=$PWD/cargo cargo vendor vendor > .cargo/config.toml
cat .cargo/config.toml
- uses: pguyot/arm-runner-action@v2
with:
base_image: dietpi:rpi_armv7_bullseye
cpu: cortex-a7
cpu_info: cpuinfo/raspberrypi_3b
image_additional_mb: 8192
shell: /bin/bash
bind_mount_repository: true
commands: |
test `uname -m` = armv7l
grep Model /proc/cpuinfo
free -h
swapon -s
apt update -y
apt install -y clang libclang-dev cmake make libprotobuf-dev protobuf-compiler
curl https://sh.rustup.rs -sSf | sh -s -- -y
source "$HOME/.cargo/env"
cd libsignal-${{ env.LIBSIGNAL_VERSION }}
CARGO_HOME=$PWD/cargo cargo build --jobs 1 -p libsignal-jni --release --offline
cp ./target/release/libsignal_jni.so ../signal/root/ext/libraries/libsignal-client/v${{ env.LIBSIGNAL_VERSION }}/armv7/libsignal_jni.so
cd ..
rm -rf libsignal-${{ env.LIBSIGNAL_VERSION }}
rm v${{ env.LIBSIGNAL_VERSION }}.zip
mv /home/runner/work/hassio-addons/hassio-addons/libsignal_jni.so /home/runner/work/hassio-addons/hassio-addons/signal/root/ext/libraries/libsignal-client/v${{ env.LIBSIGNAL_VERSION }}/armv7/libsignal_jni.so
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v4
Expand Down
2 changes: 1 addition & 1 deletion custom_components/signalmessenger/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@
"codeowners": ["@agileek"],
"requirements": ["requests"],
"iot_class": "cloud_polling",
"version": "10.22.1"
"version": "10.23.0"
}
5 changes: 5 additions & 0 deletions signal/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Changelog

## 10.23.0
- Update signal-cli to 0.12.2
- Update base image to debien bookworm
- update python dependencies

## 10.22.1
- Update signal-cli to 0.11.7

Expand Down
12 changes: 6 additions & 6 deletions signal/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
ARG BUILD_FROM=homeassistant/amd64-base-debian:bullseye
ARG BUILD_FROM=homeassistant/amd64-base-debian:bookworm
FROM $BUILD_FROM

ENV SIGNAL_VERSION=0.11.7 \
LIBSIGNAL_VERSION=0.21.1 \
ENV SIGNAL_VERSION=0.12.2 \
LIBSIGNAL_VERSION=0.32.1 \
LANG=C.UTF-8

COPY root /
Expand All @@ -14,15 +14,15 @@ RUN arch="$(uname -m)"; \
x86_64) cp /ext/libraries/libsignal-client/v${LIBSIGNAL_VERSION}/x86-64/libsignal_jni.so /tmp/libsignal_jni.so ;; \
esac;

RUN apt update && apt install -y dbus jq python3 python3-pip openjdk-17-jre zip && \
RUN apt update && apt install -y dbus jq python3 python3-pip openjdk-17-jre zip python3-venv && \
curl -L "https://github.com/AsamK/signal-cli/releases/download/v${SIGNAL_VERSION}/signal-cli-${SIGNAL_VERSION}-Linux.tar.gz" --output "/signal-cli-${SIGNAL_VERSION}.tar.gz" && \
tar xvzf /signal-cli-${SIGNAL_VERSION}.tar.gz -C / && \
mv /signal-cli-${SIGNAL_VERSION} /signal-cli && \
rm /signal-cli-${SIGNAL_VERSION}.tar.gz && \
cd /tmp && \
zip -u /signal-cli/lib/libsignal-client-*.jar libsignal_jni.so && \
cd - && \
pip3 install -r /app/requirements.txt
python3 -m venv ~/.python_signal && \
~/.python_signal/bin/pip install -r /app/requirements.txt

#https://github.com/poppyschmo/znc-signal/blob/master/docker/Dockerfile

Expand Down
10 changes: 5 additions & 5 deletions signal/build.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"args": {},
"build_from": {
"aarch64": "homeassistant/aarch64-base-debian:bullseye",
"amd64": "homeassistant/amd64-base-debian:bullseye",
"armhf": "homeassistant/armhf-base-debian:bullseye",
"armv7": "homeassistant/armv7-base-debian:bullseye",
"i386": "homeassistant/i386-base-debian:bullseye"
"aarch64": "homeassistant/aarch64-base-debian:bookworm",
"amd64": "homeassistant/amd64-base-debian:bookworm",
"armhf": "homeassistant/armhf-base-debian:bookworm",
"armv7": "homeassistant/armv7-base-debian:bookworm",
"i386": "homeassistant/i386-base-debian:bookworm"
}
}
2 changes: 1 addition & 1 deletion signal/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
},
"slug": "signal",
"startup": "services",
"version": "10.22.1",
"version": "10.23.0",
"init": false,
"image": "agileek/hassio-{arch}-signal"
}
6 changes: 3 additions & 3 deletions signal/root/app/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Flask==2.1.2
gunicorn===20.1.0
websockets===10.3
Flask==3.0.0
gunicorn===21.2.0
websockets===11.0.3
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1 change: 1 addition & 0 deletions signal/root/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,5 @@ dbus-uuidgen --ensure=/etc/machine-id
mkdir /var/run/dbus
dbus-daemon --system --nopidfile
cd /app || exit
source ~/.python_signal/bin/activate
gunicorn -w 1 -b 0.0.0.0:5000 wsgi:app

0 comments on commit cad2e6a

Please sign in to comment.