|
|
@ -9,35 +9,51 @@ permissions: |
|
|
contents: write |
|
|
contents: write |
|
|
|
|
|
|
|
|
jobs: |
|
|
jobs: |
|
|
Create_SquashFS: |
|
|
|
|
|
|
|
|
Patch_Latest_RouterOS: |
|
|
runs-on: ubuntu-latest |
|
|
runs-on: ubuntu-latest |
|
|
|
|
|
strategy: |
|
|
|
|
|
matrix: |
|
|
|
|
|
branch: ["7"] |
|
|
|
|
|
channel: [stable, testing] |
|
|
env: |
|
|
env: |
|
|
TZ: 'Asia/Shanghai' |
|
|
TZ: 'Asia/Shanghai' |
|
|
|
|
|
LATEST7_VERSION_URL: 'https://upgrade.mikrotik.com/routeros/NEWESTa7' |
|
|
|
|
|
LATEST6_VERSION_URL: 'http://upgrade.mikrotik.com/routeros/LATEST.6' |
|
|
|
|
|
LATEST_VERSION: "" |
|
|
|
|
|
CUSTOM_LICENSE_PRIVATE_KEY: ${{ secrets.CUSTOM_LICENSE_PRIVATE_KEY }} |
|
|
|
|
|
CUSTOM_LICENSE_PUBLIC_KEY: ${{ secrets.CUSTOM_LICENSE_PUBLIC_KEY }} |
|
|
|
|
|
CUSTOM_NPK_SIGN_PRIVATE_KEY: ${{ secrets.CUSTOM_NPK_SIGN_PRIVATE_KEY }} |
|
|
|
|
|
CUSTOM_NPK_SIGN_PUBLIC_KEY: ${{ secrets.CUSTOM_NPK_SIGN_PUBLIC_KEY }} |
|
|
|
|
|
MIKRO_LICENSE_PUBLIC_KEY: ${{ secrets.MIKRO_LICENSE_PUBLIC_KEY }} |
|
|
|
|
|
MIKRO_NPK_SIGN_PUBLIC_LKEY: ${{ secrets.MIKRO_NPK_SIGN_PUBLIC_LKEY }} |
|
|
steps: |
|
|
steps: |
|
|
- name: Cache |
|
|
|
|
|
|
|
|
- name: Checkout repository |
|
|
|
|
|
uses: actions/checkout@v4 |
|
|
|
|
|
|
|
|
|
|
|
- name: Set up Python |
|
|
|
|
|
uses: actions/setup-python@v5 |
|
|
|
|
|
with: |
|
|
|
|
|
python-version: '3.11' |
|
|
|
|
|
|
|
|
|
|
|
- name: Cache Squashfs |
|
|
id: cache-squashfs |
|
|
id: cache-squashfs |
|
|
uses: actions/cache@v4 |
|
|
uses: actions/cache@v4 |
|
|
with: |
|
|
with: |
|
|
path: | |
|
|
path: | |
|
|
cpython-3.11.9.tar.gz |
|
|
|
|
|
bash |
|
|
|
|
|
busybox |
|
|
|
|
|
key: busybox-python3 |
|
|
|
|
|
|
|
|
python3.sfs |
|
|
|
|
|
option.sfs |
|
|
|
|
|
key: busybox-python3-squashfs |
|
|
|
|
|
|
|
|
- name: Get Busybox and Python3 |
|
|
|
|
|
|
|
|
- name: Create Squashfs for option and python3 |
|
|
if: steps.cache-squashfs.outputs.cache-hit != 'true' |
|
|
if: steps.cache-squashfs.outputs.cache-hit != 'true' |
|
|
run: | |
|
|
run: | |
|
|
sudo wget -O bash -nv https://busybox.net/downloads/binaries/1.31.0-i686-uclibc/busybox_ASH |
|
|
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 wget -O busybox -nv https://busybox.net/downloads/binaries/1.31.0-i686-uclibc/busybox |
|
|
sudo wget -O cpython-3.11.9.tar.gz -nv https://github.com/indygreg/python-build-standalone/releases/download/20240415/cpython-3.11.9+20240415-x86_64-unknown-linux-musl-install_only.tar.gz |
|
|
|
|
|
|
|
|
|
|
|
- name: Create squashfs for option npk |
|
|
|
|
|
run: | |
|
|
|
|
|
sudo chmod +x busybox |
|
|
sudo chmod +x busybox |
|
|
sudo chmod +x bash |
|
|
sudo chmod +x bash |
|
|
sudo mkdir -p ./option-root/bin/ |
|
|
sudo mkdir -p ./option-root/bin/ |
|
|
sudo cp busybox ./option-root/bin/ |
|
|
|
|
|
sudo cp bash ./option-root/bin/ |
|
|
|
|
|
|
|
|
sudo mv busybox ./option-root/bin/ |
|
|
|
|
|
sudo mv bash ./option-root/bin/ |
|
|
COMMANDS=$(./option-root/bin/busybox --list) |
|
|
COMMANDS=$(./option-root/bin/busybox --list) |
|
|
for cmd in $COMMANDS; do |
|
|
for cmd in $COMMANDS; do |
|
|
sudo ln -sf /pckg/option/bin/busybox ./option-root/bin/$cmd |
|
|
sudo ln -sf /pckg/option/bin/busybox ./option-root/bin/$cmd |
|
|
@ -45,53 +61,14 @@ jobs: |
|
|
sudo mksquashfs option-root option.sfs -quiet -comp xz -no-xattrs -b 256k |
|
|
sudo mksquashfs option-root option.sfs -quiet -comp xz -no-xattrs -b 256k |
|
|
sudo rm -rf option-root |
|
|
sudo rm -rf option-root |
|
|
|
|
|
|
|
|
- name: Create squashfs for python3 npk |
|
|
|
|
|
run: | |
|
|
|
|
|
|
|
|
sudo wget -O cpython-3.11.9.tar.gz -nv https://github.com/indygreg/python-build-standalone/releases/download/20240415/cpython-3.11.9+20240415-x86_64-unknown-linux-musl-install_only.tar.gz |
|
|
sudo tar -xf cpython-3.11.9.tar.gz |
|
|
sudo tar -xf cpython-3.11.9.tar.gz |
|
|
|
|
|
sudo rm cpython-3.11.9.tar.gz |
|
|
sudo rm -rf ./python/include |
|
|
sudo rm -rf ./python/include |
|
|
sudo rm -rf ./python/share |
|
|
sudo rm -rf ./python/share |
|
|
sudo mksquashfs python python3.sfs -quiet -comp xz -no-xattrs -b 256k |
|
|
sudo mksquashfs python python3.sfs -quiet -comp xz -no-xattrs -b 256k |
|
|
sudo rm -rf python |
|
|
sudo rm -rf python |
|
|
|
|
|
|
|
|
- name: Upload Artifact |
|
|
|
|
|
uses: actions/upload-artifact@v4 |
|
|
|
|
|
with: |
|
|
|
|
|
retention-days: 1 |
|
|
|
|
|
name: squashfs |
|
|
|
|
|
path: ./*.sfs |
|
|
|
|
|
|
|
|
|
|
|
Patch_Latest_RouterOS: |
|
|
|
|
|
runs-on: ubuntu-latest |
|
|
|
|
|
needs: Create_SquashFS |
|
|
|
|
|
strategy: |
|
|
|
|
|
matrix: |
|
|
|
|
|
branch: ["7"] |
|
|
|
|
|
channel: [stable, testing] |
|
|
|
|
|
env: |
|
|
|
|
|
TZ: 'Asia/Shanghai' |
|
|
|
|
|
LATEST7_VERSION_URL: 'https://upgrade.mikrotik.com/routeros/NEWESTa7' |
|
|
|
|
|
LATEST6_VERSION_URL: 'http://upgrade.mikrotik.com/routeros/LATEST.6' |
|
|
|
|
|
LATEST_VERSION: "" |
|
|
|
|
|
CUSTOM_LICENSE_PRIVATE_KEY: ${{ secrets.CUSTOM_LICENSE_PRIVATE_KEY }} |
|
|
|
|
|
CUSTOM_LICENSE_PUBLIC_KEY: ${{ secrets.CUSTOM_LICENSE_PUBLIC_KEY }} |
|
|
|
|
|
CUSTOM_NPK_SIGN_PRIVATE_KEY: ${{ secrets.CUSTOM_NPK_SIGN_PRIVATE_KEY }} |
|
|
|
|
|
CUSTOM_NPK_SIGN_PUBLIC_KEY: ${{ secrets.CUSTOM_NPK_SIGN_PUBLIC_KEY }} |
|
|
|
|
|
MIKRO_LICENSE_PUBLIC_KEY: ${{ secrets.MIKRO_LICENSE_PUBLIC_KEY }} |
|
|
|
|
|
MIKRO_NPK_SIGN_PUBLIC_LKEY: ${{ secrets.MIKRO_NPK_SIGN_PUBLIC_LKEY }} |
|
|
|
|
|
steps: |
|
|
|
|
|
- name: Checkout repository |
|
|
|
|
|
uses: actions/checkout@v4 |
|
|
|
|
|
|
|
|
|
|
|
- name: Set up Python |
|
|
|
|
|
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 version |
|
|
- name: Get latest routeros version |
|
|
run: | |
|
|
run: | |
|
|
echo $(uname -a) |
|
|
echo $(uname -a) |
|
|
|