release: prepare v1.3.0 #26
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Packages | |
| on: | |
| push: | |
| tags: ['v*'] | |
| workflow_dispatch: | |
| jobs: | |
| deb-debian: | |
| name: Debian package | |
| runs-on: ubuntu-latest | |
| container: debian:bookworm | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| path: radfu | |
| - name: Install build dependencies | |
| run: | | |
| apt-get update | |
| apt-get install -y build-essential debhelper meson ninja-build pkg-config libcmocka-dev help2man | |
| - name: Build package | |
| working-directory: radfu | |
| run: dpkg-buildpackage -us -uc -b | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: deb-debian | |
| path: "*.deb" | |
| deb-ubuntu: | |
| name: Ubuntu package | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| path: radfu | |
| - name: Install build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y build-essential debhelper meson ninja-build libcmocka-dev help2man | |
| - name: Build package | |
| working-directory: radfu | |
| run: dpkg-buildpackage -us -uc -b | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: deb-ubuntu | |
| path: "*.deb" | |
| rpm-fedora: | |
| name: Fedora package | |
| runs-on: ubuntu-latest | |
| container: fedora:latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install build dependencies | |
| run: dnf install -y rpm-build meson ninja-build gcc libcmocka-devel help2man | |
| - name: Create tarball | |
| run: | | |
| VERSION=$(grep '^Version:' radfu.spec | awk '{print $2}') | |
| mkdir -p ~/rpmbuild/{SOURCES,SPECS} | |
| tar czf ~/rpmbuild/SOURCES/radfu-${VERSION}.tar.gz --transform "s,^,radfu-${VERSION}/," * | |
| cp radfu.spec ~/rpmbuild/SPECS/ | |
| - name: Build RPM | |
| run: rpmbuild -bb ~/rpmbuild/SPECS/radfu.spec | |
| - name: Copy RPM to workspace | |
| run: cp ~/rpmbuild/RPMS/*/*.rpm . | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: rpm-fedora | |
| path: "*.rpm" | |
| linux-x86_64-static: | |
| name: Linux x86_64 static binary | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y meson ninja-build | |
| - name: Build static | |
| run: | | |
| meson setup build -Dstatic=true -Dtests=false | |
| meson compile -C build | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: linux-x86_64-static | |
| path: build/radfu | |
| linux-arm64: | |
| name: Linux ARM64 binary | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y meson ninja-build | |
| - name: Build | |
| run: | | |
| meson setup build -Dtests=false | |
| meson compile -C build | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: linux-arm64 | |
| path: build/radfu | |
| linux-arm64-static: | |
| name: Linux ARM64 static binary | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y meson ninja-build | |
| - name: Build static | |
| run: | | |
| meson setup build -Dstatic=true -Dtests=false | |
| meson compile -C build | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: linux-arm64-static | |
| path: build/radfu | |
| macos: | |
| name: macOS binary | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install dependencies | |
| run: brew install meson ninja | |
| - name: Build | |
| run: | | |
| meson setup build -Dtests=false | |
| meson compile -C build | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: macos-arm64 | |
| path: build/radfu | |
| windows: | |
| name: Windows binary | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Meson | |
| run: pip install meson ninja | |
| - name: Setup MSVC | |
| uses: ilammy/msvc-dev-cmd@v1 | |
| - name: Build | |
| run: | | |
| meson setup build -Dtests=false | |
| meson compile -C build | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: windows-x86_64 | |
| path: build/radfu.exe | |
| release: | |
| name: Create Release | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| needs: [deb-debian, deb-ubuntu, rpm-fedora, linux-x86_64-static, linux-arm64, linux-arm64-static, macos, windows] | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v4 | |
| - name: Prepare release assets | |
| run: | | |
| mv deb-debian/radfu_*_amd64.deb radfu_${{ github.ref_name }}_amd64-debian.deb | |
| mv deb-ubuntu/radfu_*_amd64.deb radfu_${{ github.ref_name }}_amd64-ubuntu.deb | |
| mv rpm-fedora/radfu-*.x86_64.rpm . | |
| mv linux-x86_64-static/radfu radfu-${{ github.ref_name }}-linux-x86_64-static | |
| mv linux-arm64/radfu radfu-${{ github.ref_name }}-linux-arm64 | |
| mv linux-arm64-static/radfu radfu-${{ github.ref_name }}-linux-arm64-static | |
| mv macos-arm64/radfu radfu-${{ github.ref_name }}-macos-arm64 | |
| mv windows-x86_64/radfu.exe radfu-${{ github.ref_name }}-windows-x86_64.exe | |
| chmod +x radfu-${{ github.ref_name }}-linux-* radfu-${{ github.ref_name }}-macos-* | |
| ls -la *.deb *.rpm radfu-*-linux-* radfu-*-macos-* radfu-*-windows-* | |
| - name: Create release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| name: ${{ github.ref_name }} | |
| generate_release_notes: false | |
| body: | | |
| Release ${{ github.ref_name }} of RADFU - Renesas RA Device Firmware Update tool. | |
| A flash programming tool for Renesas RA microcontroller series that communicates with the built-in ROM bootloader via USB or UART/SCI interfaces. | |
| ## Features | |
| - Read/write/erase flash memory | |
| - Query device information | |
| - ID authentication for protected devices | |
| - Auto-detect Renesas USB devices | |
| - Configurable UART baud rate | |
| ## Supported Devices | |
| - RA4 Series (Cortex-M4/M23) - tested | |
| - RA2 Series (Cortex-M23) | |
| - RA6 Series (Cortex-M33) | |
| ## Quick Install | |
| curl -fsSL https://raw.githubusercontent.com/${{ github.repository }}/master/install.sh | sudo sh | |
| ## Manual Installation | |
| Debian 12 (Bookworm): | |
| wget https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/radfu_${{ github.ref_name }}_amd64-debian.deb | |
| sudo dpkg -i radfu_${{ github.ref_name }}_amd64-debian.deb | |
| Ubuntu 24.04: | |
| wget https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/radfu_${{ github.ref_name }}_amd64-ubuntu.deb | |
| sudo dpkg -i radfu_${{ github.ref_name }}_amd64-ubuntu.deb | |
| Fedora: | |
| sudo dnf install https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/radfu-*.rpm | |
| Linux x86_64 static (no dependencies): | |
| curl -LO https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/radfu-${{ github.ref_name }}-linux-x86_64-static | |
| chmod +x radfu-${{ github.ref_name }}-linux-x86_64-static | |
| sudo mv radfu-${{ github.ref_name }}-linux-x86_64-static /usr/local/bin/radfu | |
| Linux ARM64 (Raspberry Pi, etc.): | |
| curl -LO https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/radfu-${{ github.ref_name }}-linux-arm64 | |
| chmod +x radfu-${{ github.ref_name }}-linux-arm64 | |
| sudo mv radfu-${{ github.ref_name }}-linux-arm64 /usr/local/bin/radfu | |
| Linux ARM64 static (no dependencies): | |
| curl -LO https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/radfu-${{ github.ref_name }}-linux-arm64-static | |
| chmod +x radfu-${{ github.ref_name }}-linux-arm64-static | |
| sudo mv radfu-${{ github.ref_name }}-linux-arm64-static /usr/local/bin/radfu | |
| macOS (Apple Silicon): | |
| curl -LO https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/radfu-${{ github.ref_name }}-macos-arm64 | |
| chmod +x radfu-${{ github.ref_name }}-macos-arm64 | |
| sudo mv radfu-${{ github.ref_name }}-macos-arm64 /usr/local/bin/radfu | |
| Windows: | |
| curl -LO https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/radfu-${{ github.ref_name }}-windows-x86_64.exe | |
| # Move to a directory in your PATH | |
| files: | | |
| *.deb | |
| *.rpm | |
| radfu-*-linux-* | |
| radfu-*-macos-* | |
| radfu-*-windows-* |