Skip to content
Snippets Groups Projects
.gitlab-ci.yml 3.80 KiB
image: "r.lcr.gr/microhacks/bevy-builder:latest"

variables:
  BINARY_FOLDER: game_core
  BINARY_NAME: game_core

stages:
  - build
  - package

build-windows:
  stage: build
  before_script:
    - export CARGO_HOME="${CI_PROJECT_DIR}/.cargo"
    - export PATH="${CI_PROJECT_DIR}/.cargo/bin:$PATH"
  cache:
    key: build-cache-windows
    paths:
      - .cargo/registry/cache
      - .cargo/registry/index
      - .cargo/git/db
      - .cargo/bin/
      - target/
  script:
    - cargo build --release -p ${BINARY_FOLDER} --target x86_64-pc-windows-gnu
  artifacts:
    expire_in: 1 day
    paths:
      - target/x86_64-pc-windows-gnu/release/game_core.exe
  only:
    - trunk

build-linux:
  stage: build
  before_script:
    - export CARGO_HOME="${CI_PROJECT_DIR}/.cargo"
    - export PATH="${CI_PROJECT_DIR}/.cargo/bin:$PATH"
  cache:
    key: build-cache-linux
    paths:
      - .cargo/registry/cache
      - .cargo/registry/index
      - .cargo/git/db
      - .cargo/bin/
      - target/
  script:
    - cargo build --release -p ${BINARY_FOLDER} --target x86_64-unknown-linux-gnu
  artifacts:
    expire_in: 1 day
    paths:
      - target/x86_64-unknown-linux-gnu/release/game_core
  only:
    - trunk

#build-arm64:
#  image: "r.lcr.gr/microhacks/bevy-builder:arm64"
#  tags:
#    - arm64
#  stage: build
#  before_script:
#    - export CARGO_HOME="${CI_PROJECT_DIR}/.cargo"
#    - export PATH="${CI_PROJECT_DIR}/.cargo/bin:$PATH"
#  cache:
#    key: build-cache-arm64
#    paths:
#      - .cargo/registry/cache
#      - .cargo/registry/index
#      - .cargo/git/db
#      - .cargo/bin/
#      - target/