diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..5dc5f37 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +openwrt diff --git a/.env b/.env new file mode 100644 index 0000000..11e4065 --- /dev/null +++ b/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=firmware \ No newline at end of file diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml new file mode 100644 index 0000000..b4335e1 --- /dev/null +++ b/.github/workflows/docker-image.yml @@ -0,0 +1,50 @@ +name: Build and publish docker image + +on: + push: + # Publish `master` as Docker `latest` image. + branches: + - master + - develop + + # Publish `v1.2.3` tags as releases. + tags: + - '*' +env: + IMAGE_NAME: openwrt-builder + +jobs: + # Push image to GitHub Packages. + # See also https://docs.docker.com/docker-hub/builds/ + push: + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + + steps: + - uses: actions/checkout@v3 + + - name: Build image + run: docker build . --file Dockerfile --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" + + - name: Log in to registry + # This is where you will update the PAT to GITHUB_TOKEN + run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin + + - name: Push image + run: | + IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME + + # Change all uppercase to lowercase + IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') + # Strip git ref prefix from version + VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') + # Strip "v" prefix from tag name + [[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//') + # Use Docker `latest` tag convention + [ "$VERSION" == "master" ] && VERSION=latest + echo IMAGE_ID=$IMAGE_ID + echo VERSION=$VERSION + docker tag $IMAGE_NAME $IMAGE_ID:$VERSION + docker push $IMAGE_ID:$VERSION diff --git a/.github/workflows/nnxx.yml b/.github/workflows/nnxx.yml new file mode 100644 index 0000000..7b53997 --- /dev/null +++ b/.github/workflows/nnxx.yml @@ -0,0 +1,208 @@ +name: Build NNXX +on: + workflow_dispatch: + tags: + - 'v*.*.*' +jobs: +# Test: +# runs-on: ubuntu-22.04 +# steps: +# - uses: actions/checkout@main +# - name: Set env +# run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV +# - name: Test +# run: | +# echo $RELEASE_VERSION +# echo ${{ env.RELEASE_VERSION }} + +## GL-Inet GL-MT300n-v2 + glinet_gl-mt300n-v2: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@main + - name: Set env + run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + - name: Initialization environment + run: | + sudo apt update + sudo apt -y install build-essential clang flex bison g++ gawk \ + gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \ + python3-distutils rsync unzip zlib1g-dev file wget + + - name: Compile glinet_gl-mt300n-v2 + run: | + ./build.sh glinet_gl-mt300n-v2 + + - name: Create Github Release + uses: ncipollo/release-action@v1 + with: + artifacts: "openwrt/bin/targets/ramips/mt76x8/openwrt-ramips-mt76x8-glinet_gl-mt300n-v2-squashfs-sysupgrade.bin" + replacesArtifacts: false + token: ${{ secrets.GITHUB_TOKEN }} + allowUpdates: true + tag: ${{ env.RELEASE_VERSION }} + +## x86 + x86: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@main + - name: Set env + run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + - name: Initialization environment + run: | + sudo apt update + sudo apt -y install build-essential clang flex bison g++ gawk \ + gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \ + python3-distutils rsync unzip zlib1g-dev file wget + + - name: Compile X86_64 + run: | + ./build.sh X86_64 + + - name: Create Github Release + uses: ncipollo/release-action@v1 + with: + artifacts: "openwrt/bin/targets/x86/64/openwrt-x86-64-generic-ext4-combined-efi.img.gz" + replacesArtifacts: false + token: ${{ secrets.GITHUB_TOKEN }} + allowUpdates: true + tag: ${{ env.RELEASE_VERSION }} + +## Lamobo R1 + Lamobo_R1: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@main + - name: Set env + run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + - name: Initialization environment + run: | + sudo apt update + sudo apt -y install build-essential clang flex bison g++ gawk \ + gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \ + python3-distutils rsync unzip zlib1g-dev file wget + + - name: Compile Lamobo R1 + run: | + ./build.sh lamobo_R1 + + - name: Create Github Release + uses: ncipollo/release-action@v1 + with: + artifacts: "openwrt/bin/targets/sunxi/cortexa7/openwrt-sunxi-cortexa7-lamobo_lamobo-r1-ext4-sdcard.img.gz" + replacesArtifacts: false + token: ${{ secrets.GITHUB_TOKEN }} + allowUpdates: true + tag: ${{ env.RELEASE_VERSION }} + +## Linksys WRT3200 ACM + Linksys_WRT3200acm: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@main + - name: Set env + run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + - name: Initialization environment + run: | + sudo apt update + sudo apt -y install build-essential clang flex bison g++ gawk \ + gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \ + python3-distutils rsync unzip zlib1g-dev file wget + + - name: Compile Linksys WRT3200 ACM + run: | + ./build.sh linksys_wrt3200acm + + - name: Create Github Release + uses: ncipollo/release-action@v1 + with: + artifacts: "openwrt/bin/targets/mvebu/cortexa9/openwrt-mvebu-cortexa9-linksys_wrt3200acm-squashfs-sysupgrade.bin" + replacesArtifacts: false + token: ${{ secrets.GITHUB_TOKEN }} + allowUpdates: true + tag: ${{ env.RELEASE_VERSION }} + +## Raspy 3 e 4 + Raspberry: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@main + - name: Set env + run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + - name: Initialization environment + run: | + sudo apt update + sudo apt -y install build-essential clang flex bison g++ gawk \ + gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \ + python3-distutils rsync unzip zlib1g-dev file wget + + - name: Compile Raspberry + run: | + ./build.sh raspi_3 + ./build.sh raspi_4 + + - name: Create Github Release + uses: ncipollo/release-action@v1 + with: + artifacts: | + - "openwrt/bin/targets/bcm27xx/bcm2710/openwrt-bcm27xx-bcm2710-rpi-3-squashfs-sysupgrade.img.gz" + - "openwrt/bin/targets/bcm27xx/bcm2711/openwrt-bcm27xx-bcm2711-rpi-4-squashfs-sysupgrade.img.gz" + replacesArtifacts: false + token: ${{ secrets.GITHUB_TOKEN }} + allowUpdates: true + tag: ${{ env.RELEASE_VERSION }} + +## Totolink X5000R + Totolink_X5000R: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@main + - name: Set env + run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + - name: Initialization environment + run: | + sudo apt update + sudo apt -y install build-essential clang flex bison g++ gawk \ + gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \ + python3-distutils rsync unzip zlib1g-dev file wget + + - name: Compile Totolink_X5000R + run: | + ./build.sh totolink_X5000R + + - name: Create Github Release + uses: ncipollo/release-action@v1 + with: + artifacts: "openwrt/bin/targets/ramips/mt7621/openwrt-ramips-mt7621-totolink_x5000r-squashfs-sysupgrade.bin" + replacesArtifacts: false + token: ${{ secrets.GITHUB_TOKEN }} + allowUpdates: true + tag: ${{ env.RELEASE_VERSION }} + +## Tplink C2600 + TP-Link_C2600: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@main + - name: Set env + run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + - name: Initialization environment + run: | + sudo apt update + sudo apt -y install build-essential clang flex bison g++ gawk \ + gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \ + python3-distutils rsync unzip zlib1g-dev file wget + + - name: Compile TP-Link C2600 + run: | + ./build.sh tplink_c2600 + + - name: Create Github Release + uses: ncipollo/release-action@v1 + with: + artifacts: "openwrt/bin/targets/ipq806x/generic/openwrt-ipq806x-generic-tplink_c2600-squashfs-sysupgrade.bin" + replacesArtifacts: false + token: ${{ secrets.GITHUB_TOKEN }} + allowUpdates: true + tag: ${{ env.RELEASE_VERSION }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5dc5f37 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +openwrt