Compare commits

7 Commits

Author SHA1 Message Date
a8b278dae5 fix: cross toolchain install for docker dev image 2024-07-21 18:56:15 +02:00
3a5e06216d front-end: fix PushNotification bug
All checks were successful
gitea-sync/antos/pipeline/head This commit looks good
gitea-sync/antos/pipeline/tag This commit looks good
2024-04-30 16:35:26 +02:00
b0e51d5a52 ci: export build file to public release
All checks were successful
gitea-sync/antos/pipeline/head This commit looks good
gitea-sync/antos/pipeline/tag This commit looks good
2024-04-29 11:00:41 +02:00
3df1bb4729 Update README.md
All checks were successful
gitea-sync/antos/pipeline/head This commit looks good
2024-04-28 11:45:39 +02:00
d9f63e1833 fix(antos-frontend): add missing Setting handle to git
All checks were successful
gitea-sync/antos/pipeline/head This commit looks good
gitea-sync/antos/pipeline/tag This commit looks good
2024-03-21 13:17:33 +01:00
753fa8937f feat(frontend): Setting displays versions info
All checks were successful
gitea-sync/antos/pipeline/tag This commit looks good
gitea-sync/antos/pipeline/head This commit looks good
2024-03-18 17:07:58 +01:00
5d9bae6172 feat: allow to query all components version in frontend + improve backend security
All checks were successful
gitea-sync/antos/pipeline/head This commit looks good
gitea-sync/antos/pipeline/tag This commit looks good
2024-03-17 21:30:35 +01:00
8 changed files with 197 additions and 17 deletions

17
Jenkinsfile vendored
View File

@ -106,6 +106,23 @@ pipeline {
}
}
}
stage('Copy doc') {
steps {
sh'''
DOCDIR=/home/dany/public/antos-release/doc/ make doc
SDKDIR=/home/dany/public/antos-release/sdk/ make sdk
'''
}
}
stage('Copy Binaries') {
steps {
sh'''
BINDIR="/home/dany/public/antos-release/binaries/"
find ./build/ -name "*.deb" -exec install -Dm 755 "{}" "$BINDIR/deb" \\;
find ./build/ -name "*.AppImage" -exec install -Dm 755 "{}" "$BINDIR/appimg" \\;
'''
}
}
stage('Archive') {
steps {
script {

View File

@ -5,12 +5,14 @@ DOCKER_TAG?=$(subst master,stable,$(subst refs/heads/,,$(shell git symbolic-ref
DOCKER_IMAGE?=iohubdev/antos
ARCH?=amd64
VERSION?=2.0.0-b
VERSION?=2.1.0-b
RUSTUP_HOME?=/opt/rust
CARGO_HOME?=/opt/rust/cargo
BUILDDIR?=$(ROOT_DIR)/build/
DESTDIR?=/
DOCDIR?=$(ROOT_DIR)/build/doc/
SDKDIR?=$(ROOT_DIR)/build/sdk/
ifeq ('$(ARCH)','amd64')
RUST_TARGET?=x86_64-unknown-linux-gnu
@ -44,6 +46,10 @@ all: antos tar.gz
antos: antd backend frontend
cp $(ROOT_DIR)/README.md $(INSTALL_DIR)/htdocs/os
touch $(INSTALL_DIR)/htdocs/os/packages/.DENIED
touch $(INSTALL_DIR)/htdocs/os/libs/.DENIED
touch $(INSTALL_DIR)/htdocs/os/controllers/.DENIED
scripts/version.sh $(INSTALL_DIR)/htdocs/os/libs
antd: httpd plugins luasec luasocket silk luafcgi
rm $(INSTALL_DIR)/runner.ini
@ -181,6 +187,19 @@ appimg:
docker:
scripts/mkdocker.sh $(DOCKER_IMAGE):$(DOCKER_TAG)
doc:
mkdir -p $(DOCDIR)/$(VERSION)
VERSION=$(VERSION) BUILDID=$(BUILDID) DOCDIR=$(DOCDIR)/$(VERSION) make -C antos-frontend doc
sdk:
mkdir -p $(SDKDIR)/$(VERSION)
cp antos-frontend/d.ts/* $(SDKDIR)/$(VERSION)
-rm $(SDKDIR)/versions.txt
@for file in $(SDKDIR)/*; do \
echo $$file; \
echo $$(basename $$file) >> $(SDKDIR)/versions.txt; \
done
# --push
.PHONY: antd antos docker

View File

@ -25,7 +25,7 @@ Github: [https://github.com/antos-rde](https://github.com/antos-rde)
A demo of the VDE is available at [https://app.iohub.dev/antos/](https://app.iohub.dev/antos/) using username: demo and password: demo.
If one want to run AntOS VDE locally in their system, a docker image is available at:
[https://hub.docker.com/r/xsangle/antosaio](https://hub.docker.com/r/xsangle/antosaio)
[https://hub.docker.com/r/iohubdev/antos](https://hub.docker.com/r/iohubdev/antos)
## Build and install

View File

@ -1,7 +1,4 @@
FROM debian:bookworm AS deploy-env
ARG UNAME=ci
ARG UID=1000
ARG GID=1000
RUN apt-get update && apt-get --yes --no-install-recommends install \
build-essential \
@ -19,11 +16,14 @@ RUN apt-get update && apt-get --yes --no-install-recommends install \
libffi-dev \
ca-certificates \
unzip \
libturbojpeg0-dev \
libjpeg62-turbo-dev \
libvncserver-dev \
lua5.3
ENV RUSTUP_HOME=/opt/rust/rustup
ENV CARGO_HOME=/opt/rust/cargo
RUN RUSTUP_HOME=/opt/rust/rustup CARGO_HOME=/opt/rust/cargo bash -c 'curl https://sh.rustup.rs -sSf | sh -s -- -y'
RUN bash -c 'curl https://sh.rustup.rs -sSf | sh -s -- -y'
RUN . /opt/rust/cargo/env && rustup default stable
RUN chmod -R 777 /opt/rust/
RUN apt-get update && apt-get --yes --no-install-recommends install \
nodejs npm git wget libfuse2 fuse3
@ -33,13 +33,17 @@ RUN dpkg --add-architecture armhf
RUN dpkg --add-architecture arm64
RUN apt-get update && apt-get --yes --no-install-recommends install \
crossbuild-essential-armhf \
crossbuild-essential-armhf \
libsqlite3-0:arm64 zlib1g:arm64 libreadline8:arm64 libssl3:arm64 \
libffi-dev:arm64 libturbojpeg0:arm64 libvncclient1:arm64 \
libsqlite3-0:armhf zlib1g:armhf libreadline8:armhf libssl3:armhf \
libffi-dev:armhf libturbojpeg0:armhf libvncclient1:armhf
crossbuild-essential-arm64 \
libsqlite3-dev:arm64 zlib1g-dev:arm64 libreadline-dev:arm64 libssl-dev:arm64 \
libffi-dev:arm64 libjpeg62-turbo-dev:arm64 libvncclient1:arm64 \
libsqlite3-dev:armhf zlib1g-dev:armhf libreadline-dev:armhf libssl-dev:armhf \
libffi-dev:armhf libjpeg62-turbo-dev:armhf libvncclient1:armhf
RUN ln -sf /usr/lib/arm-linux-gnueabihf/libvncclient.so.1 /usr/lib/arm-linux-gnueabihf/libvncclient.so
RUN ln -sf /usr/lib/aarch64-linux-gnu/libvncclient.so.1 /usr/lib/aarch64-linux-gnu/libvncclient.so
#RUN ln -sf /usr/lib/arm-linux-gnueabihf/libjpeg.so.62 /usr/lib/arm-linux-gnueabihf/libjpeg.so
#RUN ln -sf /usr/lib/aarch64-linux-gnu/libjpeg.so.62 /usr/lib/aarch64-linux-gnu/libjpeg.so
RUN groupadd -g 1000 -o ci
RUN useradd -m -u 1000 -g 1000 -o -s /bin/bash ci
USER ci
WORKDIR /home/ci
WORKDIR /home/ci

140
scripts/version.sh Executable file
View File

@ -0,0 +1,140 @@
#! /bin/bash
get_version_lua_socket() {
file=$1
dir=$(dirname "$(realpath "$file")")
line=$(grep -e "^## \[.*" "$file" | head -1)
ref=$(cd "$dir" && git rev-parse --short HEAD )
regex="##\s+\[\s*v([0-9\.]+)\s*\].*"
name="luasocket"
if [[ $line =~ $regex ]]; then
version="${BASH_REMATCH[1]}"
echo " Project name: $name VERSION: $version REF: $ref"
cat << EOF >> /tmp/versions.json
"$name":
{
"version": "$version",
"ref": "$ref"
},
EOF
else
echo "Unable to find version on $file"
exit 1
fi
}
get_version_lua_sec() {
file=$1
dir=$(dirname "$(realpath "$file")")
line=$(grep -e "^LuaSec" $file | head -1)
ref=$(cd "$dir" && git rev-parse --short HEAD )
regex="LuaSec\s+([0-9\.]+).*"
name="luasec"
if [[ $line =~ $regex ]]; then
version="${BASH_REMATCH[1]}"
echo " Project name: $name VERSION: $version REF: $ref"
cat << EOF >> /tmp/versions.json
"$name":
{
"version": "$version",
"ref": "$ref"
},
EOF
else
echo "Unable to find version on $file"
exit 1
fi
}
get_version_rust() {
file=$1
dir=$(dirname "$(realpath "$file")")
line=$(grep -e "^version\s*=.*" "$file")
ref=$(cd "$dir" && git rev-parse --short HEAD )
regex="\s*version\s*=\s*\"([^\"]*)\".*"
if [[ $line =~ $regex ]]; then
version="${BASH_REMATCH[1]}"
else
echo "Unable to find version on $file"
exit 1
fi
line=$(grep -e "^name\s*=.*" "$file")
regex="\s*name\s*=\s*\"([^\"]*)\".*"
if [[ $line =~ $regex ]]; then
name="${BASH_REMATCH[1]}"
else
echo "Unable to find name on $file"
exit 1
fi
echo " Project name: $name VERSION: $version REF: $ref"
cat << EOF >> /tmp/versions.json
"$name":
{
"version": "$version",
"ref": "$ref"
},
EOF
}
get_version_autotool() {
file=$1
dir=$(dirname "$(realpath "$file")")
line="$(grep "AC_INIT" "$file")"
regex="\s*AC_INIT\s*\(\s*\[\s*([a-zA-Z0-9_\-]*)\s*\]\s*,\s*\[\s*([a-zA-Z0-9\._\-]*).*"
if [[ $line =~ $regex ]]; then
name="${BASH_REMATCH[1]}"
version="${BASH_REMATCH[2]}"
ref=$(cd "$dir" && git rev-parse --short HEAD )
echo " Project name: $name VERSION: $version REF: $ref"
cat << EOF >> /tmp/versions.json
"$name":
{
"version": "$version",
"ref": "$ref"
},
EOF
else
echo "Unable to find version on $file"
exit 1
fi
}
get_version() {
dir=$1
echo "getting version in $dir/configure.ac"
if [ -e "$dir/configure.ac" ]; then
get_version_autotool "$dir/configure.ac"
return 0
fi
if [ -e "$dir/Cargo.toml" ]; then
get_version_rust "$dir/Cargo.toml"
return 0
fi
if [ "$dir" = "antd/luasec" ]; then
get_version_lua_sec "$dir/CHANGELOG"
return 0
fi
if [ "$dir" = "antd/luasocket" ]; then
get_version_lua_socket "$dir/CHANGELOG.md"
return 0
fi
echo "Unknown version for project $dir"
exit 1
}
DESTDIR=$1
if [ -z "$DESTDIR" ]; then
echo "Please specify DESTDIR as parameter"
exit 1
fi
mkdir -p "$DESTDIR"
echo "{" > /tmp/versions.json
for prj in antd/* ; do
get_version "$prj"
done
sed -i '$ s/.$//' /tmp/versions.json
echo "}" >> /tmp/versions.json
install -m 0644 /tmp/versions.json "$DESTDIR"
echo "DONE"