Skip to content

Commit

Permalink
feat: ci
Browse files Browse the repository at this point in the history
  • Loading branch information
EvolveArt committed Dec 15, 2023
1 parent 468eb7f commit ffa51c1
Show file tree
Hide file tree
Showing 6 changed files with 161 additions and 0 deletions.
23 changes: 23 additions & 0 deletions .github/workflows/linters-cargo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: Task - Linters Cargo

on:
workflow_dispatch:
workflow_call:

jobs:
cargo-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

# selecting a toolchain either by action or manual `rustup` calls should happen
# before the plugin, as the cache uses the current rustc version as its cache key
- run: rustup show

- uses: Swatinem/rust-cache@v2
- name: Format and clippy
run: |
cargo fmt -- --check
cargo clippy --no-deps -- -D warnings
cargo clippy --tests --no-deps -- -D warnings
33 changes: 33 additions & 0 deletions .github/workflows/linters.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: Task - Linters

on:
workflow_dispatch:
workflow_call:

jobs:
prettier:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run prettier
run: |-
npx prettier --check .
markdown-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: avto-dev/markdown-lint@v1
with:
config: "./.markdownlint.json"
args: "."
ignore: "./target"

toml-lint:
runs-on: ubuntu-latest
steps:
- name: Checkout toml files
uses: actions/checkout@v3
- name: Run toml check
run: npx @taplo/cli fmt --config ./taplo/taplo.toml --check
23 changes: 23 additions & 0 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: Workflow - Pull Request

on:
workflow_dispatch:
pull_request:
branches: [main]
push:
branches: [main]

jobs:
linters:
name: Run linters
uses: ./.github/workflows/linters.yml

rust_build:
name: Build Rust project
uses: ./.github/workflows/rust-build.yml

linters_cargo:
name: Run Cargo linters
uses: ./.github/workflows/linters-cargo.yml
needs: rust_build
22 changes: 22 additions & 0 deletions .github/workflows/rust-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: Task - Build Rust

on:
workflow_dispatch:
workflow_call:

jobs:
rust_build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

# selecting a toolchain either by action or manual `rustup` calls should happen
# before the plugin, as the cache uses the current rustc version as its cache key
- run: rustup show

- uses: Swatinem/rust-cache@v2

- name: Build the project
run: |
cargo build --release --workspace
49 changes: 49 additions & 0 deletions taplo/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Taplo

[Taplo](https://github.com/tamasfe/taplo) is a TOML validator and formatter. It
provides a command-line interface (CLI) for working with TOML files.

## Installation

You can install Taplo using either cargo or Yarn or NPM.

### Cargo

```bash
cargo install taplo-cli --locked
```

### Yarn

```bash
yarn global add @taplo/cli
```

### NPM

```bash
npm install -g @taplo/cli
```

### Usage

To check your TOML files for formatting issues, use the following command:

```bash
npx @taplo/cli fmt --config taplo.toml --check
```

To format all TOML files in your project, use the following command:

```bash
npx @taplo/cli fmt --config taplo.toml
```

This command will automatically format the TOML files, ensuring consistent and
readable formatting.

### Configuration

Taplo allows you to customize the formatting rules by adding configuration
options. You can find the available options and how to use them
[here](https://taplo.tamasfe.dev/configuration/formatter-options.html).
11 changes: 11 additions & 0 deletions taplo/taplo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
include = ["**/*.toml"]
exclude = ["**/bad.toml"]

[formatting]
align_entries = false

[[rule]]
keys = ["dependencies"]

[rule.formatting]
reorder_keys = true

0 comments on commit ffa51c1

Please sign in to comment.