From 2a57da27dd33c1c3f55ae133fe9151c50c3e0ee3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=F0=9D=93=99=F0=9D=93=BE=F0=9D=93=B5=F0=9D=93=B2?= =?UTF-8?q?=F0=9D=93=B8?= Date: Sun, 1 Sep 2024 05:12:52 +0200 Subject: [PATCH] Update main.yml --- .github/workflows/main.yml | 125 ++++++++++++++++++++----------------- 1 file changed, 69 insertions(+), 56 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6b88924..fb0bb4f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,83 +11,96 @@ on: jobs: build: runs-on: ubuntu-22.04 + steps: - name: Checkout repository uses: actions/checkout@v3 - name: Install dependencies run: | - sudo apt-get -y update - sudo apt-get -y install git dpkg-dev build-essential + sudo apt-get update + sudo apt-get -y install git dpkg-dev - name: Clone the repository run: | - git clone https://github.com/theraw/The-World-Is-Yours.git $GITHUB_WORKSPACE/The-World-Is-Yours + cd /root/ + git clone https://github.com/theraw/The-World-Is-Yours.git + cd The-World-Is-Yours/ - name: Build NGINX run: | - cd $GITHUB_WORKSPACE/The-World-Is-Yours + cd /root/The-World-Is-Yours/ sudo bash build/run.sh new sudo bash build/run.sh build sudo bash build/run.sh postfix - name: Build .deb Package run: | - cd $GITHUB_WORKSPACE/The-World-Is-Yours - sudo bash -c ' - PKG_NAME="twiy" - VERSION=$(nginx -v 2>&1 | awk -F"/" "{print \$2}") - ARCH="amd64" - PKG_DIR="$GITHUB_WORKSPACE/${PKG_NAME}_${VERSION}_${ARCH}" - DEB_DIR="${PKG_DIR}/DEBIAN" + cd /root/The-World-Is-Yours/ + sudo bash -c 'function create_deb() { + PKG_NAME="twiy" + VERSION=$(nginx -v 2>&1 | awk -F"/" "{print \$2}") + ARCH="amd64" + PKG_DIR="/opt/${PKG_NAME}_${VERSION}_${ARCH}" + DEB_DIR="${PKG_DIR}/DEBIAN" - mkdir -p ${PKG_DIR}/usr/sbin - mkdir -p ${PKG_DIR}/usr/local/nginx - mkdir -p ${PKG_DIR}/nginx - mkdir -p ${PKG_DIR}/etc/systemd/system - mkdir -p ${PKG_DIR}/var/log/nginx - mkdir -p ${PKG_DIR}/nginx/conf.d - mkdir -p ${PKG_DIR}/nginx/live - mkdir -p ${PKG_DIR}/nginx/modsec - mkdir -p ${PKG_DIR}/usr/lib - mkdir -p ${PKG_DIR}/usr/local/lib - mkdir -p ${PKG_DIR}/hostdata/default/public_html - mkdir -p ${PKG_DIR}/usr/nginx_lua - cp /usr/sbin/nginx ${PKG_DIR}/usr/sbin/ - cp -R /nginx/* ${PKG_DIR}/nginx/ - cp /etc/systemd/system/nginx.service ${PKG_DIR}/etc/systemd/system/ - cp -R /hostdata/default ${PKG_DIR}/hostdata/ - cp -R /usr/nginx_lua ${PKG_DIR}/usr/ - for lib in $(ldd /usr/sbin/nginx | grep "=> /" | awk "{print \$3}"); do - cp "$lib" "${PKG_DIR}/usr/lib/" - done - for module in /opt/mod/*; do - if [ -f "$module" ]; then - for lib in $(ldd "$module" | grep "=> /" | awk "{print \$3}"); do - cp "$lib" "${PKG_DIR}/usr/lib/" - done - fi - done - mkdir -p ${DEB_DIR} - echo "Package: ${PKG_NAME}" > ${DEB_DIR}/control - echo "Version: ${VERSION}" >> ${DEB_DIR}/control - echo "Section: base" >> ${DEB_DIR}/control - echo "Priority: optional" >> ${DEB_DIR}/control - echo "Architecture: ${ARCH}" >> ${DEB_DIR}/control - echo "Maintainer: theraw " >> ${DEB_DIR}/control - echo "Description: Custom NGINX build with modules and dependencies" >> ${DEB_DIR}/control - cat <<'EOF' > ${DEB_DIR}/postinst - #!/bin/bash - useradd -r -d /usr/local/nginx -s /bin/false nginx || true - EOF - chmod 755 ${DEB_DIR}/postinst - dpkg-deb --build ${PKG_DIR} - mv ${PKG_DIR}.deb $GITHUB_WORKSPACE/${PKG_NAME}_${VERSION}_${ARCH}.deb - echo "Debian package created at $GITHUB_WORKSPACE/${PKG_NAME}_${VERSION}_${ARCH}.deb" - ' + mkdir -p ${PKG_DIR}/usr/sbin + mkdir -p ${PKG_DIR}/usr/local/nginx + mkdir -p ${PKG_DIR}/nginx + mkdir -p ${PKG_DIR}/etc/systemd/system + mkdir -p ${PKG_DIR}/var/log/nginx + mkdir -p ${PKG_DIR}/nginx/conf.d + mkdir -p ${PKG_DIR}/nginx/live + mkdir -p ${PKG_DIR}/nginx/modsec + mkdir -p ${PKG_DIR}/usr/lib + mkdir -p ${PKG_DIR}/usr/local/lib + mkdir -p ${PKG_DIR}/hostdata/default/public_html + mkdir -p ${PKG_DIR}/usr/nginx_lua + + cp /usr/sbin/nginx ${PKG_DIR}/usr/sbin/ + cp -R /nginx/* ${PKG_DIR}/nginx/ + cp /etc/systemd/system/nginx.service ${PKG_DIR}/etc/systemd/system/ + cp -R /hostdata/default ${PKG_DIR}/hostdata/ + cp -R /usr/nginx_lua ${PKG_DIR}/usr/ + + for lib in $(ldd /usr/sbin/nginx | grep "=> /" | awk "{print \$3}"); do + cp "$lib" "${PKG_DIR}/usr/lib/" + done + + for module in /opt/mod/*; do + if [ -f "$module" ]; then + for lib in $(ldd "$module" | grep "=> /" | awk "{print \$3}"); do + cp "$lib" "${PKG_DIR}/usr/lib/" + done + fi + done + + mkdir -p ${DEB_DIR} + cat < ${DEB_DIR}/control +Package: ${PKG_NAME} +Version: ${VERSION} +Section: base +Priority: optional +Architecture: ${ARCH} +Maintainer: You +Description: Custom NGINX build with modules and dependencies +EOL + + cat <<'POSTINST_EOF' > ${DEB_DIR}/postinst +#!/bin/bash +useradd -r -d /usr/local/nginx -s /bin/false nginx || true +POSTINST_EOF + chmod 755 ${DEB_DIR}/postinst + + dpkg-deb --build ${PKG_DIR} + + mv ${PKG_DIR}.deb /opt/${PKG_NAME}_${VERSION}_${ARCH}.deb + + echo "Debian package created at /opt/${PKG_NAME}_${VERSION}_${ARCH}.deb" + }; create_deb' - name: Upload .deb Package as Artifact uses: actions/upload-artifact@v3 with: name: twiy-nginx-deb - path: $GITHUB_WORKSPACE/*.deb + path: /opt/*.deb