Skip to content

Commit

Permalink
Move from Travis to Github Action
Browse files Browse the repository at this point in the history
  • Loading branch information
Aetf committed Apr 25, 2024
1 parent ba582b4 commit a9e7450
Show file tree
Hide file tree
Showing 4 changed files with 140 additions and 33 deletions.
29 changes: 29 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Test and Build Rust

on:
push:
# Enable when testing release infrastructure on a branch.
branches:
- build
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'

jobs:
publish:
name: Publish to crates.io
runs-on: ubuntu-latest
permissions:
contents: write
env:
RUSTFLAGS: --allow unknown-lints --deny warnings
steps:
- name: Setup Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- uses: actions/checkout@v4
- uses: katyo/publish-crates@v2
with:
registry-token: ${{ secrets.CARGO_REGISTRY_TOKEN }}
dry-run: ${{ !startsWith(github.ref, 'refs/tags/') }}

110 changes: 110 additions & 0 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: Test and Build Rust

on:
push:
pull_request:
workflow_dispatch:

jobs:
rustfmt:
runs-on: ubuntu-latest
steps:
- name: Setup Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: rustfmt
- uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
- run: cargo fmt --check --verbose

clippy:
name: Clippy ${{ matrix.toolchain }}
runs-on: ubuntu-latest
continue-on-error: ${{ (matrix.toolchain == 'beta') || (matrix.toolchain == 'nightly') }}
strategy:
fail-fast: false
matrix:
toolchain:
- stable
- beta
- nightly
env:
RUSTFLAGS: --deny warnings
steps:
- name: Setup Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
components: clippy
- uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
- run: cargo fetch --locked
- run: cargo clippy --offline --all-features --all-targets
- run: cargo doc --offline --all-features --no-deps

features:
name: Features ${{ matrix.toolchain }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
toolchain:
- stable
- beta
- 1.38 # MSRV: minimum supported Rust version
os:
- ubuntu-latest
- macos-latest
- windows-latest
env:
RUSTFLAGS: --allow unknown-lints --deny warnings
steps:
- name: Setup Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
- uses: Swatinem/rust-cache@v2

- name: Install cargo-hack
uses: taiki-e/install-action@v2
with:
tool: cargo-hack

- uses: actions/checkout@v4
- run: cargo fetch --locked

- name: Check all targets
run: cargo hack --keep-going --feature-powerset check --all-targets --offline

- name: Check without dev dependencies
run: cargo hack --keep-going --feature-powerset --no-dev-deps check --offline

test:
name: Test ${{ matrix.toolchain }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.toolchain == 'nightly' }}
strategy:
fail-fast: false
matrix:
toolchain:
- stable
- beta
- nightly
- 1.38 # MSRV: minimum supported Rust version
os:
- ubuntu-latest
- macos-latest
- windows-latest
env:
RUSTFLAGS: --allow unknown-lints --deny warnings
steps:
- name: Setup Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
- uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
- run: cargo fetch --locked
- run: cargo build --offline --all-features --all-targets
- run: cargo test --offline --all-features
32 changes: 0 additions & 32 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Unicode-aware algorithm to pad or truncate `str` in terms of displayed width.

[![crates.io](https://img.shields.io/crates/v/unicode-truncate.svg)](https://crates.io/crates/unicode-truncate)
[![Documentation](https://docs.rs/unicode-truncate/badge.svg)](https://docs.rs/unicode-truncate)
[![Build Status](https://travis-ci.com/Aetf/unicode-truncate.svg)](https://travis-ci.com/Aetf/unicode-truncate)
[![Build Status](https://github.com/aetf/unicode-truncate/actions/workflows/rust/badge.svg)](https://github.com/Aetf/unicode-truncate/actions)

## Examples

Expand Down

0 comments on commit a9e7450

Please sign in to comment.