diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..785f5ae --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,69 @@ +name: ci + +on: + - push + - pull_request + +jobs: + build: + runs-on: ubuntu-latest + container: devkitpro/devkitarm:latest + strategy: + matrix: + rust: + - { toolchain: nightly } + steps: + - uses: actions/checkout@v2 + - name: Add devkitARM bin to PATH + run: echo "/opt/devkitpro/devkitARM/bin" >> $GITHUB_PATH + - name: Install Apt Dependencies + run: apt-get update && apt-get install -y --no-install-recommends build-essential libssl-dev + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust.toolchain }} + default: true + - uses: Swatinem/rust-cache@v1 + - name: Install Rust Source + run: rustup component add rust-src + - name: Install cargo-xbuild crate + uses: actions-rs/install@v0.1 + with: + crate: cargo-xbuild + version: latest + use-tool-cache: true + - name: Install cargo-make crate + uses: actions-rs/install@v0.1 + with: + crate: cargo-make + version: latest + use-tool-cache: true + - name: Make Test Linux + uses: actions-rs/cargo@v1 + with: + toolchain: ${{ matrix.rust.toolchain }} + command: make + args: test linux + - name: Make Release + uses: actions-rs/cargo@v1 + with: + toolchain: ${{ matrix.rust.toolchain }} + command: make + args: justrelease + build-book: + runs-on: ubuntu-latest + steps: + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + default: true + - name: Install mdbook crate + uses: actions-rs/install@v0.1 + with: + crate: mdbook + version: latest + use-tool-cache: true + - uses: actions/checkout@v2 + - name: Build the book + run: cd book && mdbook build \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 6af87ae..0000000 --- a/.travis.yml +++ /dev/null @@ -1,58 +0,0 @@ -language: rust -sudo: false - -cache: - # Cache ONLY .cargo, not target/ like usual - directories: - - $HOME/.cargo - -branches: - only: - - staging - - trying - - master - - lokathor - -rust: - - nightly - -before_script: - - rustup component add rust-src - - (test -x $HOME/.cargo/bin/cargo-install-update || cargo install cargo-update) - - (test -x $HOME/.cargo/bin/cargo-xbuild || cargo install cargo-xbuild) - - (test -x $HOME/.cargo/bin/cargo-make || cargo install cargo-make) - - (test -x $HOME/.cargo/bin/mdbook || cargo install mdbook) - - cargo install-update -a - -script: - # Obtain the devkitPro tools, using `target/` as a temp directory - - mkdir -p target - - cd target - - wget https://github.com/devkitPro/pacman/releases/download/devkitpro-pacman-1.0.1/devkitpro-pacman.deb - - sudo dpkg -i devkitpro-pacman.deb - - sudo dkp-pacman -Sy - - sudo dkp-pacman -Syu - - sudo dkp-pacman -S -v --noconfirm gba-tools devkitARM - - export PATH="$PATH:/opt/devkitpro/devkitARM/bin" - - export PATH="$PATH:/opt/devkitpro/tools/bin" - - cd .. - # Run all verificaions, both debug and release - - cargo test --lib - - cargo test --lib --release - - cargo test --tests - - cargo test --tests --release - # Let cargo make take over the rest - - cargo make justrelease - # Test a build of the book so that a failed book build kills this run - - cd book && mdbook build - -deploy: - provider: pages - local-dir: target/book-output - skip-cleanup: true - github-token: $GITHUB_TOKEN - keep-history: false - name: DocsBot - verbose: true - on: - branch: master