Skip to content

ssh: working 3DS libssh2 build + Futureland's 4022 port rule #1

ssh: working 3DS libssh2 build + Futureland's 4022 port rule

ssh: working 3DS libssh2 build + Futureland's 4022 port rule #1

Workflow file for this run

# 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