mirror of
https://github.com/antos-rde/antos.git
synced 2025-07-13 14:14:29 +02:00
Compare commits
7 Commits
v2.0.0
...
a8b278dae5
Author | SHA1 | Date | |
---|---|---|---|
a8b278dae5 | |||
3a5e06216d | |||
b0e51d5a52 | |||
3df1bb4729 | |||
d9f63e1833 | |||
753fa8937f | |||
5d9bae6172 |
17
Jenkinsfile
vendored
17
Jenkinsfile
vendored
@ -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 {
|
||||
|
23
Makefile
23
Makefile
@ -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
|
@ -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
|
||||
|
||||
|
Submodule antd/silk updated: 14e20cf41e...824769dee2
Submodule antos-backend updated: 37f68f0e04...ac36ba6ff0
Submodule antos-frontend updated: f4ac0d639d...9fa3ab92bf
@ -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
140
scripts/version.sh
Executable 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"
|
Reference in New Issue
Block a user