Polish Build workflow in all platforms
- Add `.desktop` file to `.deb` package - Statically link CRT on Windows - Increase macOS deployment target
This commit is contained in:
parent
a5a893a0b5
commit
5f87d3d7a5
1 changed files with 19 additions and 8 deletions
27
.github/workflows/build.yml
vendored
27
.github/workflows/build.yml
vendored
|
|
@ -11,16 +11,24 @@ jobs:
|
|||
- name: Install cargo-deb
|
||||
run: cargo install cargo-deb
|
||||
- uses: actions/checkout@master
|
||||
- name: Enable Link Time Optimizations and strip debug symbols
|
||||
- name: Enable Link Time Optimizations
|
||||
run: |
|
||||
echo "[profile.release]" >> Cargo.toml
|
||||
echo "lto = true" >> Cargo.toml
|
||||
echo "debug = false" >> Cargo.toml
|
||||
- name: Add .deb package metadata
|
||||
run: |
|
||||
echo '[package.metadata.deb.variants.todos]' >> Cargo.toml
|
||||
echo 'extended-description = "A simple Todo app built with Iced, a cross-platform GUI library for Rust"' >> Cargo.toml
|
||||
echo 'assets = [["target/release/examples/todos", "usr/bin/", "755"]]' >> Cargo.toml
|
||||
echo 'assets = [' >> Cargo.toml
|
||||
echo '["target/release/examples/todos", "usr/bin/iced-todos", "755"],' >> Cargo.toml
|
||||
echo '["iced-todos.desktop", "usr/share/applications/", "644"]' >> Cargo.toml
|
||||
echo ']' >> Cargo.toml
|
||||
- name: Create .desktop file
|
||||
run: |
|
||||
echo '[Desktop Entry]' >> iced-todos.desktop
|
||||
echo 'Name=Todos - Iced' >> iced-todos.desktop
|
||||
echo 'Exec=iced-todos' >> iced-todos.desktop
|
||||
echo 'Type=Application' >> iced-todos.desktop
|
||||
- name: Build todos binary
|
||||
run: cargo build --verbose --release --example todos
|
||||
- name: Build todos .deb package
|
||||
|
|
@ -43,11 +51,15 @@ jobs:
|
|||
steps:
|
||||
- uses: hecrj/setup-rust-action@v1
|
||||
- uses: actions/checkout@master
|
||||
- name: Enable Link Time Optimizations and strip debug symbols
|
||||
- name: Enable Link Time Optimizations
|
||||
run: |
|
||||
echo "[profile.release]" >> Cargo.toml
|
||||
echo "lto = true" >> Cargo.toml
|
||||
echo "debug = false" >> Cargo.toml
|
||||
- name: Enable static CRT linkage
|
||||
run: |
|
||||
mkdir .cargo
|
||||
echo '[target.x86_64-pc-windows-msvc]' >> .cargo/config
|
||||
echo 'rustflags = ["-Ctarget-feature=+crt-static"]' >> .cargo/config
|
||||
- name: Build todos binary
|
||||
run: cargo build --verbose --release --example todos
|
||||
- name: Archive todos binary
|
||||
|
|
@ -61,14 +73,13 @@ jobs:
|
|||
steps:
|
||||
- uses: hecrj/setup-rust-action@v1
|
||||
- uses: actions/checkout@master
|
||||
- name: Enable Link Time Optimizations and strip debug symbols
|
||||
- name: Enable Link Time Optimizations
|
||||
run: |
|
||||
echo "[profile.release]" >> Cargo.toml
|
||||
echo "lto = true" >> Cargo.toml
|
||||
echo "debug = false" >> Cargo.toml
|
||||
- name: Build todos binary
|
||||
env:
|
||||
MACOSX_DEPLOYMENT_TARGET: 10.7
|
||||
MACOSX_DEPLOYMENT_TARGET: 10.14
|
||||
run: cargo build --verbose --release --example todos
|
||||
- name: Archive todos binary
|
||||
uses: actions/upload-artifact@v1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue