Browse Source

Merge branch 'master' into ci-test

pull/68/head
Meziu 2 years ago committed by GitHub
parent
commit
709bf668e5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 64
      .github/workflows/ci.yml
  2. 24
      ctru-rs/Cargo.toml
  3. 2
      ctru-sys/src/bin/docstring-to-rustdoc.rs

64
.github/workflows/ci.yml

@ -0,0 +1,64 @@
name: CI
on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_dispatch:
env:
# https://blog.rust-lang.org/2022/06/22/sparse-registry-testing.html
CARGO_UNSTABLE_SPARSE_REGISTRY: "true"
jobs:
lint:
strategy:
matrix:
toolchain:
# Run against a "known good" nightly
- nightly-2022-07-18
# Check for breakage on latest nightly
- nightly
# But if latest nightly fails, allow the workflow to continue
continue-on-error: ${{ matrix.toolchain == 'nightly' }}
runs-on: ubuntu-latest
container: devkitpro/devkitarm
steps:
- name: Checkout branch
uses: actions/checkout@v2
- name: Setup default Rust toolchain
uses: actions-rs/toolchain@v1
with:
components: clippy, rustfmt, rust-src
profile: minimal
toolchain: ${{ matrix.toolchain }}
default: true
- name: Install build tools for host
run: sudo apt-get install -y build-essential
- name: Install cargo-3ds
uses: actions-rs/cargo@v1
with:
command: install
# TODO: this should probably just be a released version from crates.io
# once cargo-3ds gets published somewhere...
args: >-
--git https://github.com/rust3ds/cargo-3ds
--rev 7b70b6b26c4740b9a10ab85b832ee73c41142bbb
- name: Check formatting
run: cargo fmt --all --verbose -- --check
- name: Cargo check
run: cargo 3ds clippy --color=always --workspace --verbose --all-targets
env:
RUSTFLAGS:
--deny=warnings
# TODO: it would be nice to actually build 3dsx for examples/tests, etc.
# and run it somehow, but exactly how remains to be seen.

24
ctru-rs/Cargo.toml

@ -36,5 +36,29 @@ default = ["romfs", "big-stack"]
romfs = [] romfs = []
big-stack = [] big-stack = []
# Temporary feature to disable some examples by default,
# until thread support is upstreamed
std-threads = []
[package.metadata.cargo-3ds] [package.metadata.cargo-3ds]
romfs_dir = "examples/romfs" romfs_dir = "examples/romfs"
[[example]]
name = "thread-basic"
required-features = ["std-threads"]
[[example]]
name = "thread-info"
required-features = ["std-threads"]
[[example]]
name = "thread-locals"
required-features = ["std-threads"]
[[example]]
name = "futures-basic"
required-features = ["std-threads"]
[[example]]
name = "futures-tokio"
required-features = ["std-threads"]

2
ctru-sys/src/bin/docstring-to-rustdoc.rs

@ -32,7 +32,7 @@ fn main() -> io::Result<()> {
.lines() .lines()
.map(|v| { .map(|v| {
// Only modify lines with the following structure: `` #[doc ... ] `` // Only modify lines with the following structure: `` #[doc ... ] ``
if v.trim_start().starts_with("#[doc") && v.trim_end().ends_with("]") { if v.trim_start().starts_with("#[doc") && v.trim_end().ends_with(']') {
v.replace("@brief", "") v.replace("@brief", "")
// Example: ``@param offset Offset of the RomFS...`` -> ``- offset Offset of the RomFS...`` // Example: ``@param offset Offset of the RomFS...`` -> ``- offset Offset of the RomFS...``
// Will improve in the future // Will improve in the future

Loading…
Cancel
Save