4 Commits

Author SHA1 Message Date
b337dfe3bc Add Automated release action
All checks were successful
Build bannertool / build-linux (push) Successful in 1m44s
Build bannertool / release (push) Successful in 8s
/ build-linux (push) Successful in 1m41s
/ build-macos (push) Successful in 8s
/ release (push) Successful in 6s
2025-11-02 18:03:21 +01:00
571b674c3d fix typo
All checks were successful
Build bannertool / build-linux (push) Successful in 1m33s
Build bannertool / release (push) Successful in 6s
2025-11-02 17:45:02 +01:00
56ba11f79f Changes
Some checks failed
Build bannertool / build-linux (push) Failing after 2m18s
Build bannertool / release (push) Has been skipped
Update README
Add windows 32 bit support
Remove macos building (cause dont want my macbook run all the day)
2025-11-02 17:41:40 +01:00
6f91e0f0d0 Update CmakeScript and CI
All checks were successful
Build bannertool / build-macos (push) Successful in 7s
Build bannertool / build-linux (push) Successful in 1m27s
Build bannertool / release (push) Successful in 6s
2025-10-31 21:47:06 +01:00
3 changed files with 143 additions and 29 deletions

View File

@@ -18,52 +18,64 @@ jobs:
gcc-aarch64-linux-gnu g++-aarch64-linux-gnu \ gcc-aarch64-linux-gnu g++-aarch64-linux-gnu \
gcc-x86-64-linux-gnu g++-x86-64-linux-gnu \ gcc-x86-64-linux-gnu g++-x86-64-linux-gnu \
gcc-i686-linux-gnu g++-i686-linux-gnu \ gcc-i686-linux-gnu g++-i686-linux-gnu \
gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 \
gcc-mingw-w64-i686 g++-mingw-w64-i686
- name: Download Cross-Build - name: Download Cross-Build
run: git clone https://dev.npid7.de/tobid7/cross-build run: git clone https://dev.npid7.de/tobid7/cross-build
- name: Build Targets - name: Build Targets
run: | run: |
mkdir -p build_artifacts
declare -A TARGETS=( declare -A TARGETS=(
["linux-i386"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/linux-i386.cmake" ["linux-i386"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/linux-i386.cmake"
["linux-x86_64"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/linux-x86_64.cmake" ["linux-x86_64"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/linux-x86_64.cmake"
["linux-armhf"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/linux-armhf.cmake" ["linux-armhf"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/linux-armhf.cmake"
["linux-aarch64"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/linux-aarch64.cmake" ["linux-aarch64"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/linux-aarch64.cmake"
["windows-x86_64"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/windows-mingw-x86_64.cmake" ["windows-x86_64"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/windows-mingw-x86_64.cmake"
["windows-x86"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/windows-mingw-i386.cmake"
) )
for name in "${!TARGETS[@]}"; do for name in "${!TARGETS[@]}"; do
cmake ${TARGETS[$name]} -DCMAKE_INSTALL_PREFIX=bin-$name -B build-$name . cmake ${TARGETS[$name]} -DCMAKE_INSTALL_PREFIX=bin-$name -B build-$name .
cmake --build build-$name --parallel cmake --build build-$name --parallel
cmake --install build-$name cmake --install build-$name
mkdir -p artifacts/$name zip -r build_artifacts/${name}.zip bin-$name
cp -r bin-$name/* artifacts/$name/
done done
build-macos: - name: Upload Artifacts
runs-on: macos-latest uses: actions/upload-artifact@v3
steps: with:
- name: Checkout name: linux-builds
uses: actions/checkout@v4 path: build_artifacts/*.zip
- name: Build # build-macos:
run: | # runs-on: macos-latest
cmake -DCMAKE_INSTALL_PREFIX=bin-macos-universal -DCMAKE_OSX_ARCHITECURE="x86_64;arm64" -B build . # steps:
cmake --build build # - name: Checkout
cmake --install build # uses: actions/checkout@v4
cp -r bin-macos-universal/* artifacts/macos-universal/ # - name: Build
# run: |
# mkdir -p build_artifacts
# cmake -DCMAKE_INSTALL_PREFIX=bin-macos-universal -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -B build .
# cmake --build build
# cmake --install build
# mkdir -p artifacts/macos-universal
# cp -r bin-macos-universal/* artifacts/macos-universal/
# zip -r build_artifacts/macos-universal.zip bin-macos-universal
# - name: Upload Artifact
# uses: actions/upload-artifact@v3
# with:
# name: macos-build
# path: build_artifacts/*.zip
release: release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [build-linux, build-macos] needs: [build-linux] #, build-macos]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Prepare Files - name: Download Artifacts
run: | uses: actions/download-artifact@v3
mkdir -p release_files with:
for d in artifacts/*; do path: release_files
name=$(basename "$d")
zip -r "release_files/$name.zip" "$d"
done
- name: Get Date - name: Get Date
run: echo "TAG_NAME=v$(date -u +'%Y%m%d-%H%M%S')" >> $GITHUB_ENV run: echo "TAG_NAME=v$(date -u +'%Y%m%d-%H%M%S')" >> $GITHUB_ENV
@@ -73,10 +85,10 @@ jobs:
with: with:
token: ${{ secrets.TOKEN }} token: ${{ secrets.TOKEN }}
prerelease: true prerelease: true
name: "Dev build ${{ env.TAG_NAME }}" name: "Automated Build ${{ env.TAG_NAME }}"
tag_name: ${{ env.TAG_NAME }} tag_name: ${{ env.TAG_NAME }}
body: | body: |
**Automated build** **Automated prerelease build**
Commit: ${{ github.sha }} Commit: ${{ github.sha }}
Triggered by: ${{ github.actor }} Triggered by: ${{ github.actor }}
files: release_files/*.zip files: release_files/**/*.zip

View File

@@ -0,0 +1,98 @@
on:
push:
tags:
- 'v*.*.*'
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Tools
run: |
sudo apt update
sudo apt install -y build-essential make cmake zip \
gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf \
gcc-aarch64-linux-gnu g++-aarch64-linux-gnu \
gcc-x86-64-linux-gnu g++-x86-64-linux-gnu \
gcc-i686-linux-gnu g++-i686-linux-gnu \
gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 \
gcc-mingw-w64-i686 g++-mingw-w64-i686
- name: Download Cross-Build
run: git clone https://dev.npid7.de/tobid7/cross-build
- name: Build Targets
run: |
mkdir -p build_artifacts
declare -A TARGETS=(
["linux-i386"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/linux-i386.cmake"
["linux-x86_64"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/linux-x86_64.cmake"
["linux-armhf"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/linux-armhf.cmake"
["linux-aarch64"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/linux-aarch64.cmake"
["windows-x86_64"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/windows-mingw-x86_64.cmake"
["windows-x86"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/windows-mingw-i386.cmake"
)
for name in "${!TARGETS[@]}"; do
cmake ${TARGETS[$name]} -DCMAKE_INSTALL_PREFIX=bin-$name -B build-$name .
cmake --build build-$name --parallel
cmake --install build-$name
zip -r build_artifacts/${name}.zip bin-$name
done
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: linux-builds
path: build_artifacts/*.zip
build-macos:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build
run: |
mkdir -p build_artifacts
cmake -DCMAKE_INSTALL_PREFIX=bin-macos-universal -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -B build .
cmake --build build
cmake --install build
mkdir -p artifacts/macos-universal
cp -r bin-macos-universal/* artifacts/macos-universal/
zip -r build_artifacts/macos-universal.zip bin-macos-universal
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: macos-build
path: build_artifacts/*.zip
release:
runs-on: ubuntu-latest
needs: [build-linux, build-macos]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download Artifacts
uses: actions/download-artifact@v3
with:
path: release_files
- name: Upload to Gitea
uses: akkuman/gitea-release-action@v1
with:
token: ${{ secrets.TOKEN }}
prerelease: false
name: "Release ${{ github.ref_name }}"
tag_name: ${{ github.ref_name }}
body: |
**Bannertool Release ${{ github.ref_name }}**
Commit: ${{ github.sha }}
Triggered by: ${{ github.actor }}
Supported Systems:
- Windows x64
- Windows x86 (32 Bit)
- Linux x86_64
- Linux x86 (32 Bit)
- Linux armhf (32 Bit)
- Linux aarch64 (arm64)
files: release_files/**/*.zip

View File

@@ -2,10 +2,14 @@
A tool for creating 3DS banners. A tool for creating 3DS banners.
## How to build (Using Docker) ## Building
```bash ```bash
docker build -t bannertool-builder . cmake -B build .
docker run --name bannertool-builder bannertool-builder cmake --build build
docker cp bannertool-builder:/bannertool/output/bannertool.zip .
``` ```
## Credits
- Stevice10: Creating bannertool
- tobid7: Providing binaries for more systems