mirror of
https://github.com/Nutomic/ibis.git
synced 2024-11-22 23:31:09 +00:00
Build release binaries in CI (#18)
* build release in ci * binstall * x * y * z * pub * when tag * reorder * ci check for ignored files * create wasm files * remove ignored * fmt
This commit is contained in:
parent
d5ce966ea1
commit
7f85248799
5 changed files with 55 additions and 1177 deletions
|
@ -2,6 +2,7 @@ variables:
|
||||||
- &rust_image "rust:1.75"
|
- &rust_image "rust:1.75"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
cargo_fmt:
|
cargo_fmt:
|
||||||
image: rustlang/rust:nightly
|
image: rustlang/rust:nightly
|
||||||
environment:
|
environment:
|
||||||
|
@ -20,6 +21,13 @@ steps:
|
||||||
- cargo run -- --print-config > config/defaults_current.toml
|
- cargo run -- --print-config > config/defaults_current.toml
|
||||||
- diff config/defaults.toml config/defaults_current.toml
|
- diff config/defaults.toml config/defaults_current.toml
|
||||||
|
|
||||||
|
ignored_files:
|
||||||
|
image: alpine:3
|
||||||
|
commands:
|
||||||
|
- apk add git
|
||||||
|
- IGNORED=$(git ls-files --cached -i --exclude-standard)
|
||||||
|
- if [[ "$IGNORED" ]]; then echo "Ignored files present:\n$IGNORED\n"; exit 1; fi
|
||||||
|
|
||||||
check_diesel_schema:
|
check_diesel_schema:
|
||||||
image: willsquire/diesel-cli
|
image: willsquire/diesel-cli
|
||||||
environment:
|
environment:
|
||||||
|
@ -62,6 +70,35 @@ steps:
|
||||||
- export PATH="/usr/lib/postgresql/15/bin:/usr/local/cargo/bin:$PATH"
|
- export PATH="/usr/lib/postgresql/15/bin:/usr/local/cargo/bin:$PATH"
|
||||||
- sudo -u testuser env "PATH=$PATH" cargo test --no-fail-fast
|
- sudo -u testuser env "PATH=$PATH" cargo test --no-fail-fast
|
||||||
|
|
||||||
|
build_release:
|
||||||
|
image: *rust_image
|
||||||
|
environment:
|
||||||
|
CARGO_HOME: .cargo_home
|
||||||
|
commands:
|
||||||
|
- wget https://github.com/cargo-bins/cargo-binstall/releases/latest/download/cargo-binstall-x86_64-unknown-linux-musl.tgz
|
||||||
|
- tar -xvf cargo-binstall-x86_64-unknown-linux-musl.tgz
|
||||||
|
- rustup target add wasm32-unknown-unknown
|
||||||
|
- ./cargo-binstall -y trunk
|
||||||
|
- ./.cargo_home/bin/trunk build --release
|
||||||
|
- cargo build --release
|
||||||
|
- ls -la target/release/ibis
|
||||||
|
- cp target/release/ibis .
|
||||||
|
- gzip ibis
|
||||||
|
- ls -la ibis.gz
|
||||||
|
when:
|
||||||
|
event: tag
|
||||||
|
|
||||||
|
publish_release:
|
||||||
|
image: woodpeckerci/plugin-github-release
|
||||||
|
settings:
|
||||||
|
files:
|
||||||
|
- ibis.gz
|
||||||
|
title: ${CI_COMMIT_TAG##v}
|
||||||
|
api-key:
|
||||||
|
from_secret: github_token
|
||||||
|
when:
|
||||||
|
event: tag
|
||||||
|
|
||||||
services:
|
services:
|
||||||
database:
|
database:
|
||||||
image: postgres:15.2-alpine
|
image: postgres:15.2-alpine
|
||||||
|
|
|
@ -94,3 +94,8 @@ crate-type = ["cdylib", "rlib"]
|
||||||
# out temporarily, but make sure to leave this in the main branch.
|
# out temporarily, but make sure to leave this in the main branch.
|
||||||
[profile.dev]
|
[profile.dev]
|
||||||
debug = 0
|
debug = 0
|
||||||
|
|
||||||
|
[profile.release]
|
||||||
|
lto = "thin"
|
||||||
|
strip = true # Automatically strip symbols from the binary.
|
||||||
|
#opt-level = "z" # Optimize for size.
|
||||||
|
|
1177
assets/dist/ibis.js
vendored
1177
assets/dist/ibis.js
vendored
File diff suppressed because it is too large
Load diff
BIN
assets/dist/ibis_bg.wasm
vendored
BIN
assets/dist/ibis_bg.wasm
vendored
Binary file not shown.
13
build.rs
Normal file
13
build.rs
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
use std::{
|
||||||
|
fs::{create_dir_all, File},
|
||||||
|
io::Result,
|
||||||
|
};
|
||||||
|
|
||||||
|
/// Create placeholders for wasm files so that `cargo check` etc work without explicitly building
|
||||||
|
/// frontend.
|
||||||
|
fn main() -> Result<()> {
|
||||||
|
create_dir_all("assets/dist/")?;
|
||||||
|
File::create("assets/dist/ibis.js")?;
|
||||||
|
File::create("assets/dist/ibis_bg.wasm")?;
|
||||||
|
Ok(())
|
||||||
|
}
|
Loading…
Reference in a new issue