Рубрики
Uncategorized

Действие GitHub для многопроектного репозитория ржавчины

Мой рабочий процесс я недавно начал изучать ржавчину. Если вы заинтересованы в том, чтобы следить за моим путешествием … Tagged with Actionshackathon, Rust, GitHub, DevOps.

Мой рабочий процесс

Я недавно начал изучать ржавчину. Если вы заинтересованы в том, чтобы следить за моим путешествием, посмотрите серию 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»