name: UGREEN NAS on: push: branches: - release jobs: workflow: name: UGREEN NAS runs-on: cicd.trixie steps: - name: Repository (Workspace) [Checkout] uses: actions/checkout@v6 - name: Environment [Source] id: environment run: | source './.env' UNITS=$(/usr/bin/nproc --all) /usr/bin/echo "UNITS=${UNITS}" >> "${GITHUB_OUTPUT}" /usr/bin/echo "Set Variable 'UNITS' to '${UNITS}'" /usr/bin/echo "VERSION=${VERSION}" >> "${GITHUB_OUTPUT}" /usr/bin/echo "Set Variable 'VERSION' to '${VERSION}'" - name: Command Line Interface [Compile] run: | /usr/bin/make --directory='./sources/ugreen-led-cli' --jobs='${{ steps.environment.outputs.units }}' CC='x86_64-linux-gnu-g++-14' - name: Disk Activities Monitor [Compile] run: | x86_64-linux-gnu-g++-14 -std=c++11 -O2 './sources/ugreen-led-disk-blink/main.cpp' -o './sources/ugreen-led-disk-blink/ugreen-led-disk-blink' - name: Disk Standby Monitor [Compile] run: | x86_64-linux-gnu-g++-14 -std=c++17 -O2 './sources/ugreen-led-disk-standby/main.cpp' -o './sources/ugreen-led-disk-standby/ugreen-led-disk-standby' - name: UGREEN NAS [Prepare Debian Package] run: | /usr/bin/sed --in-place --expression='s/Architecture:.*/Architecture: amd64/' './ugreen-nas-led/DEBIAN/control' /usr/bin/sed --in-place --expression='s/Version:.*/Version: ${{ steps.environment.outputs.version }}/' './ugreen-nas-led/DEBIAN/control' /usr/bin/sed --in-place --expression='s/x.x.x/${{ steps.environment.outputs.version }}/' './ugreen-nas-led/DEBIAN/postinst' /usr/bin/chmod --verbose '0755' './ugreen-nas-led/DEBIAN/postinst' /usr/bin/chmod --verbose '0755' './ugreen-nas-led/DEBIAN/postrm' /usr/bin/sed --in-place --expression='s/x.x.x/${{ steps.environment.outputs.version }}/' './ugreen-nas-led/DEBIAN/prerm' /usr/bin/chmod --verbose '0755' './ugreen-nas-led/DEBIAN/prerm' /usr/bin/mv --verbose './sources/ugreen-led-cli/ugreen-led-cli' './ugreen-nas-led/usr/sbin/ugreen-led-cli' /usr/bin/chmod --verbose '0755' './ugreen-nas-led/usr/sbin/ugreen-led-disk' /usr/bin/mv --verbose './sources/ugreen-led-disk-blink/ugreen-led-disk-blink' './ugreen-nas-led/usr/sbin/ugreen-led-disk-blink' /usr/bin/mv --verbose './sources/ugreen-led-disk-standby/ugreen-led-disk-standby' './ugreen-nas-led/usr/sbin/ugreen-led-disk-standby' /usr/bin/chmod --verbose '0755' './ugreen-nas-led/usr/sbin/ugreen-led-init' /usr/bin/chmod --verbose '0755' './ugreen-nas-led/usr/sbin/ugreen-led-netdev' /usr/bin/chmod --verbose '0755' './ugreen-nas-led/usr/sbin/ugreen-led-power' /usr/bin/sed --in-place --expression='s/x.x.x/${{ steps.environment.outputs.version }}/' './ugreen-nas-led/usr/src/led-ugreen/dkms.conf' /usr/bin/mv --verbose './ugreen-nas-led/usr/src/led-ugreen' './ugreen-nas-led/usr/src/led-ugreen-${{ steps.environment.outputs.version }}' - name: Debian Package [Generate] run: | /usr/bin/dpkg-gen './ugreen-nas-led' /usr/bin/mv --verbose './ugreen-nas-led.deb' './ugreen-nas-led_${{ steps.environment.outputs.version }}_amd64.deb' - name: Release Debian Package [Configuration] run: | /usr/bin/echo '${{ secrets.REPOSITORY_SSH_PRIVATE_KEY }}' > './id_ed25519' /usr/bin/chmod --quiet '0400' './id_ed25519' /usr/bin/echo "REPOSITORY_CODENAME='trixie'" > './ugreen-nas-led_${{ steps.environment.outputs.version }}_amd64.cfg' /usr/bin/echo "Set Configuration 'REPOSITORY_CODENAME' to 'trixie'" /usr/bin/echo "REPOSITORY_COMPONENT='main'" >> './ugreen-nas-led_${{ steps.environment.outputs.version }}_amd64.cfg' /usr/bin/echo "Set Configuration 'REPOSITORY_COMPONENT' to 'main'" - name: Release Debian Package [PrivLab Repository] uses: https://gitea.com/actions/gitea-release-action@v1 with: name: UGREEN NAS v${{ steps.environment.outputs.version }} tag_name: v${{ steps.environment.outputs.version }} files: | ugreen-nas-led_${{ steps.environment.outputs.version }}_amd64.deb - name: Release Debian Package [Advanced Package Tool Repository] run: | /usr/bin/scp -4 -B -C -i './id_ed25519' -o 'LogLevel QUIET' -o 'StrictHostKeyChecking no' -o "UserKnownHostsFile '/dev/null'" './ugreen-nas-led_${{ steps.environment.outputs.version }}_amd64.deb' '${{ secrets.REPOSITORY_SSH_USER }}'@'${{ secrets.REPOSITORY_SSH_HOSTNAME }}':'${{ secrets.REPOSITORY_DESTINATION }}/ugreen-nas-led_${{ steps.environment.outputs.version }}_amd64.deb' /usr/bin/scp -4 -B -C -i './id_ed25519' -o 'LogLevel QUIET' -o 'StrictHostKeyChecking no' -o "UserKnownHostsFile '/dev/null'" './ugreen-nas-led_${{ steps.environment.outputs.version }}_amd64.cfg' '${{ secrets.REPOSITORY_SSH_USER }}'@'${{ secrets.REPOSITORY_SSH_HOSTNAME }}':'${{ secrets.REPOSITORY_DESTINATION }}/ugreen-nas-led_${{ steps.environment.outputs.version }}_amd64.cfg'