--- kind: pipeline type: docker name: default steps: - name: build_image_base pull: never image: bash_n_docker volumes: - name: dockersock path: /var/run/docker.sock - name: docker_config path: /docker_config/config.json commands: - export DOCKER_CONFIG=/docker_config - docker build -f docker/Dockerfile_Base -t spacegame_base . - name: build_image_linux pull: never image: bash_n_docker depends_on: - build_image_base volumes: - name: dockersock path: /var/run/docker.sock - name: docker_config path: /docker_config/config.json commands: - export DOCKER_CONFIG=/docker_config - docker build -f docker/Dockerfile_Linux -t spacegame_linux . - name: build_image_windows pull: never image: bash_n_docker depends_on: - build_image_base volumes: - name: dockersock path: /var/run/docker.sock - name: docker_config path: /docker_config/config.json commands: - export DOCKER_CONFIG=/docker_config - docker build -f docker/Dockerfile_Windows -t spacegame_windows . - name: build_game_linux pull: never image: spacegame_linux depends_on: - build_image_linux commands: - > cmake -S . -B build_linux -G Ninja -DCMAKE_TOOLCHAIN_FILE="cmake/clang_toolchain.cmake" -DCMAKE_BUILD_TYPE=Release -DSPACEGAME_BUILD_SHADERS=ON - cmake --build build_linux --verbose -- -l $(($(nproc)+4)) - name: build_game_windows pull: never image: spacegame_windows depends_on: - build_image_windows commands: - > cmake -S . -B build_windows -G Ninja -DCMAKE_TOOLCHAIN_FILE="cmake/clang_mingw_toolchain.cmake" -DCMAKE_BUILD_TYPE=Release -DSPACEGAME_BUILD_SHADERS=OFF - cmake --build build_windows --verbose -- -l $(($(nproc)+4)) - name: package_game pull: never image: spacegame_linux depends_on: - build_game_linux - build_game_windows when: event: - tag commands: # We need to fetch the release tag in order to get its message - git fetch origin tag $DRONE_TAG --no-tags # Get short version from tag name and long version from tag message # - VERSION_SHORT=$DRONE_TAG - VERSION_LONG=$(git for-each-ref refs/tags/$DRONE_TAG --format='%(contents)') # Package linux - LINUX_VERSION="$VERSION_LONG.linux" - mkdir spacegame_linux - echo $LINUX_VERSION > spacegame_linux/version.txt - cp build_linux/bin/x86_64/Release/spacegame spacegame_linux/spacegame - cp -r assets spacegame_linux/assets - zip -r spacegame_linux.zip spacegame_linux # Package windows - WINDOWS_VERSION="$VERSION_LONG.windows" - mkdir spacegame_windows - echo $WINDOWS_VERSION > spacegame_windows/version.txt - cp build_windows/bin/x86_64/Release/spacegame.exe spacegame_windows/spacegame.exe - cp -r assets spacegame_windows/assets - zip -r spacegame_windows.zip spacegame_windows - name: release image: plugins/gitea-release depends_on: - package_game when: event: - tag settings: api_key: from_secret: api_key base_url: https://git.lph.zone prerelease: true files: - spacegame_linux.zip - spacegame_windows.zip volumes: - name: dockersock host: path: /var/run/docker.sock - name: docker_config host: path: /home/crydsch/.docker/config.json image_pull_secrets: - dockerconfig