Skip to content
Snippets Groups Projects
Verified Commit 8c234a3e authored by Louis's avatar Louis :fire:
Browse files

Update build scripts

parent 67e5135d
No related branches found
No related tags found
No related merge requests found
...@@ -3,59 +3,97 @@ image: "r.lcr.gr/microhacks/bevy-builder:latest" ...@@ -3,59 +3,97 @@ image: "r.lcr.gr/microhacks/bevy-builder:latest"
variables: variables:
BINARY_NAME: game BINARY_NAME: game
.cache_directive: &cache_directive stages:
- build
- package
build-windows:
stage: build
before_script: before_script:
- export CARGO_HOME="${CI_PROJECT_DIR}/.cargo" - export CARGO_HOME="${CI_PROJECT_DIR}/.cargo"
- export PATH="${CI_PROJECT_DIR}/.cargo/bin:$PATH" - export PATH="${CI_PROJECT_DIR}/.cargo/bin:$PATH"
cache: cache:
key: build-cache-key key: build-cache-windows
paths: paths:
- .cargo/registry/cache - .cargo/registry/cache
- .cargo/registry/index - .cargo/registry/index
- .cargo/git/db - .cargo/git/db
- .cargo/bin/ - .cargo/bin/
- target/ - target/
stages:
- build
- package
build-windows:
stage: build
<<: *cache_directive
script: script:
- cargo build --release -p game_core --target x86_64-pc-windows-gnu - cargo build --release -p game_core --target x86_64-pc-windows-gnu
artifacts:
expire_in: 1 day
paths:
- target/x86_64-pc-windows-gnu/release/game_core.exe
only: only:
- trunk - trunk
build-linux: build-linux:
stage: build stage: build
<<: *cache_directive 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: script:
- cargo build --release -p game_core --target x86_64-unknown-linux-gnu - cargo build --release -p game_core --target x86_64-unknown-linux-gnu
artifacts:
expire_in: 1 day
paths:
- target/x86_64-unknown-linux-gnu/release/game_core
only: only:
- trunk - trunk
build-web: build-web:
stage: build stage: build
<<: *cache_directive before_script:
- export CARGO_HOME="${CI_PROJECT_DIR}/.cargo"
- export PATH="${CI_PROJECT_DIR}/.cargo/bin:$PATH"
cache:
key: build-cache-web
paths:
- .cargo/registry/cache
- .cargo/registry/index
- .cargo/git/db
- .cargo/bin/
- target/
script: script:
- make assets
- cd "${CI_PROJECT_DIR}/game_core" && trunk build --release - cd "${CI_PROJECT_DIR}/game_core" && trunk build --release
- cd "${CI_PROJECT_DIR}"
artifacts:
expire_in: 1 day
paths:
- game_core/dist/
only: only:
- trunk - trunk
package-all: package-all:
stage: package stage: package
<<: *cache_directive
script: script:
- mkdir -p dist/ - mkdir -p dist/
- make assets
- cp -r assets dist/assets - cp -r assets dist/assets
- cp target/x86_64-unknown-linux-gnu/release/game_core "dist/$BINARY_NAME" - cp target/x86_64-unknown-linux-gnu/release/game_core "dist/$BINARY_NAME"
- cp target/x86_64-pc-windows-gnu/release/game_core.exe "dist/$BINARY_NAME.exe" - cp target/x86_64-pc-windows-gnu/release/game_core.exe "dist/$BINARY_NAME.exe"
- cd "${CI_PROJECT_DIR}/dist && zip -r "windows.zip" "./${BINARY_NAME}.exe" ./assets - cd "${CI_PROJECT_DIR}/dist" && zip -r "windows.zip" "./${BINARY_NAME}.exe" ./assets
- cd "${CI_PROJECT_DIR}/dist && zip -r "linux.zip" "./${BINARY_NAME}" ./assets - cd "${CI_PROJECT_DIR}/dist" && zip -r "linux.zip" "./${BINARY_NAME}" ./assets
- cd "${CI_PROJECT_DIR}/game_core/dist && zip -r "../../dist/web.zip" "./*" - ls "${CI_PROJECT_DIR}/game_core/dist"
- cd "${CI_PROJECT_DIR}/game_core/dist" && zip -r "web.zip" ./*
- cd "${CI_PROJECT_DIR}" && mv "${CI_PROJECT_DIR}/game_core/dist/web.zip" "${CI_PROJECT_DIR}/dist/web.zip"
dependencies:
- build-windows
- build-linux
- build-web
artifacts: artifacts:
expire_in: 7 days
paths: paths:
- dist/web.zip - dist/web.zip
- dist/windows.zip - dist/windows.zip
...@@ -66,10 +104,15 @@ package-all: ...@@ -66,10 +104,15 @@ package-all:
pages: pages:
stage: package stage: package
script: script:
- ls game_core/
- ls game_core/dist/
- mkdir -p public/ - mkdir -p public/
- cp -r game_core/dist/* public/ - cp -r game_core/dist/* public/
artifacts: artifacts:
expire_in: 7 days
paths: paths:
- public - public
dependencies:
- build-web
only: only:
- trunk - trunk
\ No newline at end of file
...@@ -14,6 +14,12 @@ cargo-deps: ...@@ -14,6 +14,12 @@ cargo-deps:
setup-x11: linux-deps cargo-deps setup-x11: linux-deps cargo-deps
setup-wayland: linux-deps wayland-deps cargo-deps setup-wayland: linux-deps wayland-deps cargo-deps
# Update this command to build assets; commonly using Crunch to generate asset files
# If you remove this command, be sure to update .gitlab-ci.yml to remove the steps that
# call "make assets"
assets:
@echo "Beep Boop, No assets needed to be built"
run: run:
RUSTFLAGS="-Awarnings" \ RUSTFLAGS="-Awarnings" \
cargo run --release --features "bevy/dynamic" -p game_core cargo run --release --features "bevy/dynamic" -p game_core
......
[build]
public_url = "./"
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment