ballistica/.woodpecker/release.yaml
2025-01-19 22:01:33 +03:30

101 lines
4.9 KiB
YAML

when:
- event: tag
ref: refs/tags/v*
steps:
- name: parallel-prepare
image: codeberg.org/3ra/ballistica-dev:latest
pull: true
commands:
- make env
- cd ..
- cp -r -v $CI_REPO_NAME build_prefabs
- cp -r -v $CI_REPO_NAME build_gui_docker
- cp -r -v $CI_REPO_NAME build_server_docker
- cp -r -v $CI_REPO_NAME build_sphinx_docs
- cd $CI_REPO_NAME
- name: build-prefabs
image: codeberg.org/3ra/ballistica-dev:latest
commands:
- cd ../build_prefabs
- make prefab-linux-arm64-gui-debug-build
- make prefab-linux-x86-64-gui-debug-build
- make prefab-mac-arm64-gui-debug-build
- make prefab-windows-x86-gui-debug-build
- make prefab-linux-arm64-server-debug-build
- make prefab-linux-x86-64-server-debug-build
- make prefab-mac-arm64-server-debug-build
- make prefab-windows-x86-server-debug-build
- mv -v build/prefab/full/linux_arm64_gui/debug build/prefab/full/linux_arm64_gui/ballisticakit_linux_arm64
- tar cvzfC ballisticakit_linux_arm64.tar.gz build/prefab/full/linux_arm64_gui ballisticakit_linux_arm64
- mv -v build/prefab/full/linux_x86_64_gui/debug build/prefab/full/linux_x86_64_gui/ballisticakit_linux_x86_64
- tar cvzfC ballisticakit_linux_x86_64.tar.gz build/prefab/full/linux_x86_64_gui ballisticakit_linux_x86_64
- mv -v build/prefab/full/mac_arm64_gui/debug build/prefab/full/mac_arm64_gui/ballisticakit_mac
- tar cvzfC ballisticakit_mac.tar.gz build/prefab/full/mac_arm64_gui ballisticakit_mac
- mv -v build/prefab/full/windows_x86_gui/debug build/prefab/full/windows_x86_gui/ballisticakit_windows
- cd build/prefab/full/windows_x86_gui
- zip -rv ../../../../ballisticakit_windows.zip ballisticakit_windows
- cd ../../../..
- mv -v build/prefab/full/linux_arm64_server/debug build/prefab/full/linux_arm64_server/ballisticakit_linux_arm64_server
- tar cvzfC ballisticakit_linux_arm64_server.tar.gz build/prefab/full/linux_arm64_server ballisticakit_linux_arm64_server
- mv -v build/prefab/full/linux_x86_64_server/debug build/prefab/full/linux_x86_64_server/ballisticakit_linux_x86_64_server
- tar cvzfC ballisticakit_linux_x86_64_server.tar.gz build/prefab/full/linux_x86_64_server ballisticakit_linux_x86_64_server
- mv -v build/prefab/full/mac_arm64_server/debug build/prefab/full/mac_arm64_server/ballisticakit_mac_server
- tar cvzfC ballisticakit_mac_server.tar.gz build/prefab/full/mac_arm64_server ballisticakit_mac_server
- mv -v build/prefab/full/windows_x86_server/debug build/prefab/full/windows_x86_server/ballisticakit_windows_server
- cd build/prefab/full/windows_x86_server
- zip -rv ../../../../ballisticakit_windows_server.zip ballisticakit_windows_server
- cd ../../../..
depends_on: [parallel-prepare]
- name: build-gui-docker
image: woodpeckerci/plugin-docker-buildx
settings:
dry-run: true
dockerfile: ../build_gui_docker/config/docker/Dockerfile
build_args:
- cmake_build_type=Debug
- headless_build=1
platforms:
- linux/amd64
output: type=docker,dest=ballisticakit_docker.tar
depends_on: [parallel-prepare]
- name: build-server-docker
image: woodpeckerci/plugin-docker-buildx
settings:
dry-run: true
dockerfile: config/docker/Dockerfile
build_args:
- cmake_build_type=Debug
- headless_build=1
platforms:
- linux/amd64
output: type=docker,dest=ballisticakit_server_docker.tar
depends_on: [parallel-prepare]
- name: build-sphinx-docs
image: codeberg.org/3ra/ballistica-dev:latest
commands:
- make docs-sphinx
- mv -v build/sphinx build/ballisticakit_sphinx_docs
- tar -cvfC ballisticakit_sphinx_docs.tar build/ ballisticakit_sphinx_docs
depends_on: [parallel-prepare]
- name: publish
image: woodpeckerci/plugin-release
settings:
api_key:
from_secret: ACCESS_TOKEN
files:
- '../build_prefabs/ballisticakit_linux_arm64.tar.gz'
- '../build_prefabs/ballisticakit_linux_x86_64.tar.gz'
- '../build_prefabs/ballisticakit_mac.tar.gz'
- '../build_prefabs/ballisticakit_windows.zip'
- '../build_prefabs/ballisticakit_linux_arm64_server.tar.gz'
- '../build_prefabs/ballisticakit_linux_x86_64_server.tar.gz'
- '../build_prefabs/ballisticakit_mac_server.tar.gz'
- '../build_prefabs/ballisticakit_windows_server.zip'
- '../build_gui_docker/ballisticakit_docker.tar'
- '../build_server_docker/ballisticakit_server_docker.tar'
- '../build_sphinx_docs/ballisticakit_sphinx_docs.tar'
note: 'These are debug prefab builds; use them for testing purposes only. Check out https://ballistica.net/downloads for official/blessed release builds'
title: ${CI_COMMIT_TAG}
depends_on: [build-prefabs, build-gui-docker, build-server-docker, build-sphinx-docs]