Switch to Github Actions (#105)

- Remove travis ci config
- Add Github action for CI
This commit is contained in:
Neil P 2021-02-12 23:36:06 -04:00 committed by GitHub
parent 5a3bf4630d
commit 263f7909de
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 69 additions and 58 deletions

69
.github/workflows/ci.yaml vendored Normal file
View file

@ -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

View file

@ -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