ci: make egui and WASM builds steps instead of parallelly ran flows

This will reduce momentary strain in favor of running for a longer time.

Reference issue: https://codeberg.org/topola/topola/issues/155
This commit is contained in:
Mikolaj Wielgus 2025-01-09 16:30:59 +01:00
parent f5153f870a
commit 1439049ca4
4 changed files with 124 additions and 143 deletions

View File

@ -0,0 +1,124 @@
# SPDX-FileCopyrightText: 2024 Topola contributors
#
# SPDX-License-Identifier: MIT
matrix:
include:
- CHANNEL: stable
FEATURES: disable_contracts
- CHANNEL: nightly
FEATURES:
steps:
build_cli:
image: rust
environment:
RUST_BACKTRACE: 1
CARGO_TERM_COLOR: always
commands:
- rustup default "$CHANNEL"
- cargo build -p topola-cli --no-default-features --features "$FEATURES" --
when:
event: [pull_request, push, tag]
path:
include:
- '.woodpecker/*.yaml'
- '*.toml'
- 'crates/**'
- 'src/**'
- 'tests/**'
- 'examples/**'
exclude:
- 'assets/**'
- 'LICENSES/**'
- 'locales/**'
- '*.md'
ignore_message: '[ALL]'
on_empty: false
# Testing is a step instead of a separate flow to reduce Codeberg's CI usage.
test:
image: rust
environment:
RUST_BACKTRACE: 1
CARGO_TERM_COLOR: always
commands:
- rustup default "$CHANNEL"
- cargo test --verbose --no-default-features --features "$FEATURES"
when:
event: [pull_request, push, tag]
# Only run tests for stable channel to avoid straining Codeberg's CI.
evaluate: 'CHANNEL == "stable"'
path:
include:
- '.woodpecker/*.yaml'
- '*.toml'
- 'crates/**'
- 'src/**'
- 'tests/**'
- 'examples/**'
exclude:
- 'assets/**'
- 'LICENSES/**'
- 'locales/**'
- '*.md'
ignore_message: '[ALL]'
on_empty: false
# Step instead of a separate flow to reduce Codeberg's CI usage.
build_egui:
image: rust
environment:
RUST_BACKTRACE: 1
CARGO_TERM_COLOR: always
commands:
- rustup default "$CHANNEL"
- cargo build -p topola-egui --no-default-features --features "$FEATURES"
when:
event: [pull_request, push, tag]
path:
include:
- '.woodpecker/*.yaml'
- '*.toml'
- 'crates/**'
- 'src/**'
- 'tests/**'
- 'examples/**'
exclude:
- 'assets/**'
- 'LICENSES/**'
- 'locales/**'
- '*.md'
ignore_message: '[ALL]'
on_empty: false
# Step instead of a separate flow to reduce Codeberg's CI usage.
build_wasm:
image: rust
environment:
RUST_BACKTRACE: 1
CARG_TERM_COLOR: always
commands:
- apt-get -y install curl
- curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
- cargo binstall --no-confirm trunk
- rustup default "$CHANNEL"
- rustup target add wasm32-unknown-unknown
- trunk build
when:
event: [pull_request, push, tag]
path:
include:
- '.woodpecker/*.yaml'
- '*.toml'
- 'crates/**'
- 'src/**'
- 'tests/**'
- 'examples/**'
exclude:
- 'assets/**'
- 'LICENSES/**'
- 'locales/**'
- '*.md'
ignore_message: '[ALL]'
on_empty: false

View File

@ -1,65 +0,0 @@
# SPDX-FileCopyrightText: 2024 Topola contributors
#
# SPDX-License-Identifier: MIT
matrix:
include:
- CHANNEL: stable
FEATURES: disable_contracts
- CHANNEL: nightly
FEATURES:
steps:
build_cli:
image: rust
environment:
RUST_BACKTRACE: 1
CARGO_TERM_COLOR: always
commands:
- rustup default "$CHANNEL"
- cargo build -p topola-cli --no-default-features --features "$FEATURES" --
when:
event: [pull_request, push, tag]
path:
include:
- '.woodpecker/*.yaml'
- '*.toml'
- 'crates/**'
- 'src/**'
- 'tests/**'
- 'examples/**'
exclude:
- 'assets/**'
- 'LICENSES/**'
- 'locales/**'
- '*.md'
ignore_message: '[ALL]'
on_empty: false
# Testing is a step instead of a separate flow to reduce Codeberg's CI usage.
test:
image: rust
environment:
RUST_BACKTRACE: 1
CARGO_TERM_COLOR: always
commands:
- cargo test --verbose --no-default-features --features "$FEATURES"
when:
event: [pull_request, push, tag]
# Only run tests for stable channel to avoid straining Codeberg's CI.
evaluate: 'CHANNEL == "stable"'
path:
include:
- '.woodpecker/*.yaml'
- '*.toml'
- 'crates/**'
- 'src/**'
- 'tests/**'
- 'examples/**'
exclude:
- 'assets/**'
- 'LICENSES/**'
- 'locales/**'
- '*.md'
ignore_message: '[ALL]'
on_empty: false

View File

@ -1,37 +0,0 @@
# SPDX-FileCopyrightText: 2024 Topola contributors
#
# SPDX-License-Identifier: MIT
matrix:
include:
- CHANNEL: stable
FEATURES: disable_contracts,xdg-portal
- CHANNEL: nightly
FEATURES: xdg-portal
steps:
build_egui:
image: rust
environment:
RUST_BACKTRACE: 1
CARGO_TERM_COLOR: always
commands:
- rustup default "$CHANNEL"
- cargo build -p topola-egui --no-default-features --features "$FEATURES"
when:
event: [pull_request, push, tag]
path:
include:
- '.woodpecker/*.yaml'
- '*.toml'
- 'crates/**'
- 'src/**'
- 'tests/**'
- 'examples/**'
exclude:
- 'assets/**'
- 'LICENSES/**'
- 'locales/**'
- '*.md'
ignore_message: '[ALL]'
on_empty: false

View File

@ -1,41 +0,0 @@
# SPDX-FileCopyrightText: 2024 Topola contributors
#
# SPDX-License-Identifier: MIT
matrix:
include:
- CHANNEL: stable
FEATURES: disable_contracts
- CHANNEL: nightly
FEATURES:
steps:
build_wasm:
image: rust
environment:
RUST_BACKTRACE: 1
CARG_TERM_COLOR: always
commands:
- apt-get -y install curl
- curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
- cargo binstall --no-confirm trunk
- rustup default "$CHANNEL"
- rustup target add wasm32-unknown-unknown
- trunk build
when:
event: [pull_request, push, tag]
path:
include:
- '.woodpecker/*.yaml'
- '*.toml'
- 'crates/**'
- 'src/**'
- 'tests/**'
- 'examples/**'
exclude:
- 'assets/**'
- 'LICENSES/**'
- 'locales/**'
- '*.md'
ignore_message: '[ALL]'
on_empty: false