name: Build bannertool on: push: branches: - '*' 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: Get Date run: echo "TAG_NAME=v$(date -u +'%Y%m%d-%H%M%S')" >> $GITHUB_ENV - name: Upload to Gitea uses: akkuman/gitea-release-action@v1 with: token: ${{ secrets.TOKEN }} prerelease: true name: "Automated Build ${{ env.TAG_NAME }}" tag_name: ${{ env.TAG_NAME }} body: | **Automated prerelease build** Commit: ${{ github.sha }} Triggered by: ${{ github.actor }} files: release_files/**/*.zip