Skip to content

Commit

Permalink
chore: add CI workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
orhun committed Sep 23, 2023
1 parent 61c84a1 commit 355072a
Showing 1 changed file with 72 additions and 0 deletions.
72 changes: 72 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Continuous Integration

on:
push:
branches:
- main
pull_request:
branches:
- main
schedule:
- cron: "0 0 * * 0"

jobs:
lint:
name: Lint
runs-on: ubuntu-latest

steps:
- name: Checkout the repository
uses: actions/checkout@v4

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable

- name: Cache Cargo dependencies
uses: Swatinem/rust-cache@v2

- name: Check formatting
run: cargo fmt --all -- --check

- name: Check lints
run: cargo clippy -- -D warnings

build:
name: Build on ${{ matrix.build.OS }} (${{ matrix.build.TARGET }})
runs-on: ${{ matrix.build.OS }}
strategy:
fail-fast: false
matrix:
build:
- {
OS: ubuntu-22.04,
TOOLCHAIN: stable,
TARGET: x86_64-unknown-linux-gnu,
}
- {
OS: windows-2022,
TOOLCHAIN: stable,
TARGET: x86_64-pc-windows-msvc,
}
- { OS: macos-11, TOOLCHAIN: stable, TARGET: x86_64-apple-darwin }
steps:
- name: Checkout the repository
uses: actions/checkout@v4

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.build.TOOLCHAIN }}
targets: ${{ matrix.build.TARGET }}

- name: Cache Cargo dependencies
uses: Swatinem/rust-cache@v2

- name: Build the project
run: cargo build --locked --verbose

- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.build.OS }}-${{ matrix.build.TARGET }}-assets
path: target/debug/typewriter*

0 comments on commit 355072a

Please sign in to comment.