diff --git a/.github/workflows/mikrotik_patch.yml b/.github/workflows/mikrotik_patch.yml index e35331b..d5c3918 100644 --- a/.github/workflows/mikrotik_patch.yml +++ b/.github/workflows/mikrotik_patch.yml @@ -10,8 +10,59 @@ permissions: contents: write jobs: + Create_SquashFS: + runs-on: ubuntu-latest + env: + TZ: 'Asia/Shanghai' + steps: + - name: Create squashfs for option npk + run: | + cd $GITHUB_WORKSPACE + sudo wget -O bash -nv https://busybox.net/downloads/binaries/1.31.0-i686-uclibc/busybox_ASH + sudo wget -O busybox -nv https://busybox.net/downloads/binaries/1.31.0-i686-uclibc/busybox + sudo chmod +x busybox + sudo chmod +x bash + sudo mkdir -p ./option-root/bin/ + sudo mv busybox ./option-root/bin/ + sudo mv bash ./option-root/bin/ + COMMANDS=$(./option-root/bin/busybox --list) + for cmd in $COMMANDS; do + sudo ln -sf /pckg/option/bin/busybox ./option-root/bin/$cmd + done + sudo rm -f option.sfs + sudo mksquashfs option-root option.sfs -quiet -comp xz -no-xattrs -b 256k + sudo rm -rf option-root + + - name: Create squashfs for python3 npk + run: | + wget -nv https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tar.xz + tar -xf Python-3.11.9.tar.xz + rm -f Python-3.11.9.tar.xz + sudo mkdir -p /pckg/python3/ + cd Python-3.11.9 + sudo apt install -y pkg-config libbz2-dev liblzma-dev libssl-dev libgd-dev libreadline-dev zlib1g-dev libgdbm-dev + ./configure --enable-optimizations --prefix=/pckg/python3/ --disable-test-modules --without-static-libpython CONFIGURE_LDFLAGS="-static" PY_CORE_LDFLAGS="-static" + make -j$(nproc) + sudo make altinstall + cd .. + sudo rm -rf Python-3.11.9 + sudo rm -rf /pckg/python3/include + sudo rm -rf /pckg/python3/share + sudo mksquashfs /pckg/python3 python3.sfs -quiet -comp xz -no-xattrs -b 256k + sudo rm -rf /pckg + + - name: Upload Artifact + uses: actions/upload-artifact@v4 + with: + retention-days: 1 + name: squashfs + path: | + ./option.sfs + ./python3.sfs + Patch_Mikrotik_RouterOS: runs-on: ubuntu-latest + needs: Create_SquashFS env: TZ: 'Asia/Shanghai' LATEST_STABLE_VERSION_URL: 'https://upgrade.mikrotik.com/routeros/NEWESTa7.stable' @@ -30,8 +81,15 @@ jobs: uses: actions/setup-python@v5 with: python-version: '3.11' + + - name: Download Artifact + uses: actions/download-artifact@v4 + with: + name: squashfs + - name: Get latest routeros stable version run: | + run: ls -R echo $(uname -a) LATEST_VERSION=$(wget -nv -O - $LATEST_STABLE_VERSION_URL | cut -d ' ' -f1) echo Latest Stabel Version:$LATEST_VERSION @@ -40,42 +98,6 @@ jobs: - name: Create keygen run: | zip keygen.zip ./keygen.exe - - - name: Create squashfs for option npk - run: | - cd $GITHUB_WORKSPACE - sudo wget -O bash -nv https://busybox.net/downloads/binaries/1.31.0-i686-uclibc/busybox_ASH - sudo wget -O busybox -nv https://busybox.net/downloads/binaries/1.31.0-i686-uclibc/busybox - sudo chmod +x busybox - sudo chmod +x bash - sudo mkdir -p ./option-root/bin/ - sudo mv busybox ./option-root/bin/ - sudo mv bash ./option-root/bin/ - COMMANDS=$(./option-root/bin/busybox --list) - for cmd in $COMMANDS; do - sudo ln -sf /pckg/option/bin/busybox ./option-root/bin/$cmd - done - sudo rm -f option.sfs - sudo mksquashfs option-root option.sfs -quiet -comp xz -no-xattrs -b 256k - sudo rm -rf option-root - - - name: Create squashfs for python3 npk - run: | - wget -nv https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tar.xz - tar -xf Python-3.11.9.tar.xz - rm -f Python-3.11.9.tar.xz - sudo mkdir -p /pckg/python3/ - cd Python-3.11.9 - sudo apt install -y pkg-config libbz2-dev liblzma-dev libssl-dev libgd-dev libreadline-dev zlib1g-dev libgdbm-dev - ./configure --enable-optimizations --prefix=/pckg/python3/ --disable-test-modules --without-static-libpython CONFIGURE_LDFLAGS="-static" - make -j$(nproc) - sudo make altinstall - cd .. - sudo rm -rf Python-3.11.9 - sudo rm -rf /pckg/python3/include - sudo rm -rf /pckg/python3/share - sudo mksquashfs /pckg/python3 python3.sfs -quiet -comp xz -no-xattrs -b 256k - sudo rm -rf /pckg - name: Get mikrotik-${{ env.LATEST_VERSION }}.iso run: |