Skip to content

Commit

Permalink
Merge pull request #1 from Javier-varez/ci-integration
Browse files Browse the repository at this point in the history
Add CI integration
  • Loading branch information
Javier-varez authored May 9, 2024
2 parents e5ad46a + 2c0d43d commit f53fcd2
Show file tree
Hide file tree
Showing 4 changed files with 78 additions and 7 deletions.
71 changes: 71 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: Rusty Boy

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

env:
CARGO_TERM_COLOR: always

jobs:
cargo_clippy:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo clippy

cargo_test:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: sudo apt-get install libsdl2-dev
- run: cargo test

cargo_build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: sudo apt-get install libsdl2-dev
- run: cargo build -r

cargo_fmt:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo fmt --check

cargo_doc:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo doc

rusty-date:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
with:
targets: thumbv7em-none-eabihf
components: rust-src
- name: setup job
run: |
sudo apt-get install gcc-arm-none-eabi
cargo install --git=https://github.com/pd-rs/crank
wget https://download.panic.com/playdate_sdk/Linux/PlaydateSDK-2.4.2.tar.gz
tar -xf PlaydateSDK-2.4.2.tar.gz
- run: PLAYDATE_SDK_PATH=${{ github.workspace }}/PlaydateSDK-2.4.2 crank build --device --release
working-directory: rusty-date
8 changes: 4 additions & 4 deletions cartridge/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
//! ```rust,no_run
//! use cartridge::Cartridge;
//!
//! let data = std::io::read("my_cartridge.gb");
//! let cartridge = Cartridge::new(data).unwrap();
//! let data = std::fs::read("my_cartridge.gb").expect("Unable to read cartridge from disk");
//! let mut cartridge = Cartridge::try_new(data).expect("Cartridge is not valid");
//!
//! // Query the cartridge header with:
//! let header = cartridge.header();
Expand All @@ -19,7 +19,7 @@
//!
//! // Perform memory-mapped accesses with:
//! assert_eq!(cartridge.read(0x4000u16), 0xFA);
//! cartridge.read(0xA000u16, 0x53);
//! cartridge.write(0xA000u16, 0x53);
//! ```
//!
#![no_std]
Expand Down Expand Up @@ -79,7 +79,7 @@ pub struct Cartridge {
impl Cartridge {
/// Constructs a new cartridge using the given ROM data. Can fail if there was a problem
/// reading the header.
pub fn new(rom_data: Vec<u8>) -> Result<Self, Error> {
pub fn try_new(rom_data: Vec<u8>) -> Result<Self, Error> {
let mapper = mappers::new_mapper(rom_data)?;
Ok(Self { mapper })
}
Expand Down
4 changes: 2 additions & 2 deletions rusty-boy-sdl/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,8 @@ fn main() -> anyhow::Result<()> {
let args = Args::parse();

let rom_data = std::fs::read(&args.rom_path)?;
let cartridge =
Cartridge::new(rom_data).map_err(|e| anyhow::format_err!("Invalid cartridge: {}", e))?;
let cartridge = Cartridge::try_new(rom_data)
.map_err(|e| anyhow::format_err!("Invalid cartridge: {}", e))?;
let mut rusty_boy = RustyBoy::new_with_cartridge(cartridge);

if rusty_boy.supports_battery_backed_ram() {
Expand Down
2 changes: 1 addition & 1 deletion rusty-date/src/game_runner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ impl GameRunner {
system: &System,
rom: crate::game_selector::Rom,
) -> Result<Self, anyhow::Error> {
let cartridge = Cartridge::new(rom.data).map_err(|e| anyhow::format_err!("{e:?}"))?;
let cartridge = Cartridge::try_new(rom.data).map_err(|e| anyhow::format_err!("{e:?}"))?;
let mut rusty_boy = RustyBoy::new_with_cartridge(cartridge);
rusty_boy.configure_cpu_step(sm83::core::Cycles::new(60));

Expand Down

0 comments on commit f53fcd2

Please sign in to comment.