Skip to content

Commit

Permalink
new traits
Browse files Browse the repository at this point in the history
  • Loading branch information
romancardenas committed Feb 21, 2024
1 parent 527b27d commit f5808cc
Show file tree
Hide file tree
Showing 19 changed files with 599 additions and 97 deletions.
60 changes: 60 additions & 0 deletions .github/workflows/riscv-pac.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
on:
push:
branches: [ master, riscv-pac ]
pull_request:
merge_group:

name: Build check (riscv-pac)

jobs:
# We check that the crate builds and links for all the toolchains and targets.
build-riscv:
strategy:
matrix:
# All generated code should be running on stable now, MRSV is 1.60.0
toolchain: [ stable, nightly, 1.60.0 ]
target:
- riscv32i-unknown-none-elf
- riscv32imc-unknown-none-elf
- riscv32imac-unknown-none-elf
- riscv64imac-unknown-none-elf
- riscv64gc-unknown-none-elf
include:
# Nightly is only for reference and allowed to fail
- toolchain: nightly
experimental: true
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental || false }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
targets: ${{ matrix.target }}
- name: Build
run: cargo build --package riscv-pac --target ${{ matrix.target }}

# On MacOS, Ubuntu, and Windows, we run the tests.
test-others:
strategy:
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Run tests
run: cargo test --package riscv-pac

# Job to check that all the builds succeeded
build-check:
needs:
- build-riscv
- test-others
runs-on: ubuntu-latest
if: always()
steps:
- run: jq --exit-status 'all(.result == "success")' <<< '${{ toJson(needs) }}'
14 changes: 7 additions & 7 deletions .github/workflows/riscv-peripheral.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
on:
push:
branches: [ master ]
branches: [ master, riscv-pac ]
pull_request:
merge_group:

Expand Down Expand Up @@ -37,27 +37,27 @@ jobs:
run: cargo build --package riscv-peripheral --target ${{ matrix.target }} --all-features

# On MacOS, Ubuntu, and Windows, we run the tests.
build-others:
test-others:
strategy:
matrix:
os:
- macos-latest
- ubuntu-latest
# - windows-latest issues when testing and external symbols are not found
# - windows-latest # issues when testing and external symbols are not found
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Build (no features)
- name: Run tests (no features)
run: cargo test --package riscv-peripheral
- name: Build (all features)
- name: Run tests (all features)
run: cargo test --package riscv-peripheral --all-features

# Job to check that all the builds succeeded
build-check:
needs:
- build-riscv
- build-others
- test-others
runs-on: ubuntu-latest
if: always()
steps:
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/riscv.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
on:
push:
branches: [ master ]
branches: [ master, riscv-pac ]
pull_request:
merge_group:

Expand Down Expand Up @@ -41,24 +41,24 @@ jobs:
run: cargo build --package riscv --target ${{ matrix.target }} --all-features

# On MacOS, Ubuntu, and Windows, we at least make sure that the crate builds and links.
build-others:
test-others:
strategy:
matrix:
os: [ macos-latest, ubuntu-latest, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Build (no features)
run: cargo build --package riscv
- name: Build (all features)
run: cargo build --package riscv --all-features
- name: Run tests (no features)
run: cargo test --package riscv
- name: Run tests (all features)
run: cargo test --package riscv --all-features

# Job to check that all the builds succeeded
build-check:
needs:
- build-riscv
- build-others
- test-others
runs-on: ubuntu-latest
if: always()
steps:
Expand Down
6 changes: 6 additions & 0 deletions riscv-pac/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased]

### Added

- Add `ExceptionNumber` trait.
- Classify interrupt numbers in `CoreInterruptNumber` and `ExternalInterruptNumber`.
- Added simple tests to illustrate how to implement all the provided traits.

## [v0.1.1] - 2024-02-15

- Fix crates.io badge links
Expand Down
2 changes: 1 addition & 1 deletion riscv-pac/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "riscv-pac"
version = "0.1.1"
version = "0.1.2"
edition = "2021"
rust-version = "1.60"
repository = "/~https://github.com/rust-embedded/riscv"
Expand Down
Loading

0 comments on commit f5808cc

Please sign in to comment.