Мой рабочий процесс
Я недавно начал изучать ржавчину. Если вы заинтересованы в том, чтобы следить за моим путешествием, посмотрите серию Rust здесь, на Dev.
Ржавчина 1 — базовый синтаксис
Петр Яник ・ 6 августа 2020 года.
Я начал с предложенного Rust.yml действие.
name: Rust
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build, test, clippy all
run: sh -x ./scripts/ci.sh
Мой сборка Работа включает в себя один шаг, называемый Строитель, тест, Clippy All и он выполняет сценарий из -за репозитория. Сценарий выглядит следующим образом:
build_test_clippy(){
while read path; do
printf "Project: %s\n" "$path"
cargo build --verbose --manifest-path "$path"
cargo test --verbose --manifest-path "$path"
cargo clippy --verbose --manifest-path "$path"
done
}
find . -name 'Cargo.toml' | sort -u | build_test_clippy
Во -первых, команда Find находит все каталоги, содержащие Cargo.toml файл. Это как Package.json Если вы знакомы с JavaScript. В каталогах, которые он находит, он выполняет Грузовая сборка который строит проект, Тест груза который запускает тесты и груз clippy который является линтером для ржавчины.
Категория подачи:
Дурацкие подстановки
Ссылка на код
Petr7555/Learning-rust
Оригинал: «https://dev.to/petr7555/github-action-for-multi-project-rust-repository-28d5»