ssh: working 3DS libssh2 build + Futureland's 4022 port rule #1
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
| # Release flow: push a tag like v0.4.0 (or run manually) and this builds | |
| # the RELEASE binary (no dev scaffolding), packages the .cia, generates the | |
| # FBI Remote-Install QR pointing at the release asset, and publishes a | |
| # GitHub Release with each file as an individual asset — the layout | |
| # Universal-DB's update scripts consume directly. | |
| name: release | |
| on: | |
| push: | |
| tags: ["v*"] | |
| workflow_dispatch: | |
| permissions: | |
| contents: write | |
| jobs: | |
| release: | |
| runs-on: ubuntu-latest | |
| container: devkitpro/devkitarm:latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install packaging tools (makerom, bannertool, segno) | |
| run: | | |
| curl -sL -o /tmp/makerom.zip \ | |
| https://github.com/3DSGuy/Project_CTR/releases/download/makerom-v0.19.0/makerom-v0.19.0-ubuntu_x86_64.zip | |
| unzip -o /tmp/makerom.zip -d /usr/local/bin | |
| chmod +x /usr/local/bin/makerom | |
| curl -sL -o /tmp/bannertool.tar.gz \ | |
| https://github.com/carstene1ns/3ds-bannertool/releases/download/1.2.3/bannertool-1.2.3-linux.tar.gz | |
| tar xzf /tmp/bannertool.tar.gz -C /tmp | |
| install "$(find /tmp -name bannertool -type f | head -1)" /usr/local/bin/bannertool | |
| apt-get update -qq && apt-get install -y -qq python3-pip | |
| pip3 install --break-system-packages segno || pip3 install segno | |
| - name: Build libssh2 (SSH support) | |
| run: | | |
| dkp-pacman -S --noconfirm 3ds-mbedtls | |
| bash tools/build_libssh2.sh | |
| - name: Build RELEASE .3dsx + .cia | |
| run: make RELEASE=1 cia MAKEROM=makerom BANNERTOOL=bannertool | |
| - name: Generate install QR | |
| run: | | |
| TAG="${GITHUB_REF_NAME}" | |
| python3 tools/make_qr.py \ | |
| "https://github.com/${GITHUB_REPOSITORY}/releases/download/${TAG}/3dBBS.cia" \ | |
| qr-install.png | |
| - name: Publish release | |
| uses: softprops/action-gh-release@v2 | |
| if: startsWith(github.ref, 'refs/tags/') | |
| with: | |
| files: | | |
| 3dBBS.cia | |
| 3dBBS.3dsx | |
| qr-install.png | |
| body: | | |
| Scan `qr-install.png` with FBI's Remote Install to install the | |
| `.cia` over the air, or launch `3dBBS.3dsx` from the Homebrew | |
| Launcher. Release builds contain no dev scaffolding. | |
| - name: Upload artifacts (manual runs) | |
| uses: actions/upload-artifact@v4 | |
| if: "!startsWith(github.ref, 'refs/tags/')" | |
| with: | |
| name: 3dBBS | |
| path: | | |
| 3dBBS.cia | |
| 3dBBS.3dsx | |
| qr-install.png |