diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..96490d8 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,21 @@ +on: + workflow_call: + +jobs: + lint: + name: Lint + permissions: + contents: read + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@master + with: + toolchain: '1.82.0' + components: 'clippy' + - name: Cache Rust toolchain + uses: Swatinem/rust-cache@v2.7.5 + - name: Lint + run: make lint diff --git a/.github/workflows/main-push.yml b/.github/workflows/main-push.yml new file mode 100644 index 0000000..71a6e62 --- /dev/null +++ b/.github/workflows/main-push.yml @@ -0,0 +1,13 @@ +name: Main + +on: + push: + branches: [main] + +jobs: + test: + name: Test + uses: ./.github/workflows/test.yml + lint: + name: Lint + uses: ./.github/workflows/lint.yml diff --git a/.github/workflows/pr-push.yml b/.github/workflows/pr-push.yml new file mode 100644 index 0000000..2cbb364 --- /dev/null +++ b/.github/workflows/pr-push.yml @@ -0,0 +1,12 @@ +name: Pull Requests + +on: + pull_request: + +jobs: + test: + name: Test + uses: ./.github/workflows/test.yml + lint: + name: Lint + uses: ./.github/workflows/lint.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..d213177 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,20 @@ +on: + workflow_call: + +jobs: + test: + name: Test + permissions: + contents: read + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@master + with: + toolchain: '1.82.0' + - name: Cache Rust toolchain + uses: Swatinem/rust-cache@v2.7.5 + - name: Test + run: make test