~ruther/avr-device

f40d65e5ec18e3c90491667733f8552d56af88a0 — Rahix 4 years ago 8962262
ci: Switch to GitHub Actions
3 files changed, 74 insertions(+), 28 deletions(-)

A .github/workflows/ci.yml
D .travis.yml
M README.md
A .github/workflows/ci.yml => .github/workflows/ci.yml +73 -0
@@ 0,0 1,73 @@
name: Continuous Integration

on:
  - push
  - pull_request

jobs:
  ci:
    name: "Test-build avr-device with all targets and runtime enabled"
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Install Rust
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: nightly-2021-01-07
          override: true
          components: rustfmt

      # Python Dependencies
      - name: Install Python dependencies
        run: |
          pip3 install --user setuptools wheel
          pip3 install --user svdtools
      - name: Put pip binary directory into path
        run: echo "$HOME/.local/bin" >> $GITHUB_PATH

      # Rust Dependencies
      - name: Cache Cargo installed binaries
        uses: actions/cache@v1
        id: cache-cargo
        with:
          path: ~/cargo-bin
          key: rust-tools-001
      - name: Install svd2rust
        if: steps.cache-cargo.outputs.cache-hit != 'true'
        run: |
          mkdir svd2rust
          cd svd2rust
          git init
          git remote add origin https://github.com/rust-embedded/svd2rust.git
          git fetch origin 56be78729279eeebef65110c13be8d96c0b9270f
          git checkout FETCH_HEAD
          cargo install --path .
      - name: Install cargo-form
        if: steps.cache-cargo.outputs.cache-hit != 'true'
        uses: actions-rs/install@v0.1
        with:
          crate: form
          version: 0.7.0
      - name: Install atdf2svd
        if: steps.cache-cargo.outputs.cache-hit != 'true'
        uses: actions-rs/install@v0.1
        with:
          crate: atdf2svd
          version: 0.2.0
      - name: Copy tools to cache directory
        if: steps.cache-cargo.outputs.cache-hit != 'true'
        run: |
          mkdir ~/cargo-bin
          cp ~/.cargo/bin/svd2rust ~/cargo-bin
          cp ~/.cargo/bin/form ~/cargo-bin
          cp ~/.cargo/bin/atdf2svd ~/cargo-bin
      - name: Put new cargo binary directory into path
        run: echo "$HOME/cargo-bin" >> $GITHUB_PATH

      # Actual test run
      - name: Generate chip description sources
        run: make RUSTUP_TOOLCHAIN=nightly-2021-01-07
      - name: Test-compile the crate
        run: cargo check --all-features

D .travis.yml => .travis.yml +0 -27
@@ 1,27 0,0 @@
language: rust
rust:
  - nightly-2020-10-25

cache:
  cargo: true
  pip: true
  directories:
    - /opt/pyenv
    - ~/svd2rust

install:
  - pyenv install 3.6.3
  - pyenv global 3.6.3
  - python3 -c "__import__('svdtools')" || pip3 install --user svdtools
  - rustup component add rustfmt
  - cargo install form || true
  # TODO: Hack to use the latest version of svd2rust
  # - cargo install svd2rust || true
  - ! test -d svd2rust || (mkdir svd2rust && cd svd2rust && git init && git remote add origin https://github.com/rust-embedded/svd2rust.git)
  - (cd svd2rust && git fetch origin 56be78729279eeebef65110c13be8d96c0b9270f && git checkout FETCH_HEAD && cargo install --path .)
  - cargo install atdf2svd || true

script:
  - pyenv global 3.6.3
  - make RUSTUP_TOOLCHAIN=nightly-2020-10-25
  - cargo build --all-features

M README.md => README.md +1 -1
@@ 1,4 1,4 @@
avr-device [![crates.io page](http://meritbadge.herokuapp.com/avr-device)](https://crates.io/crates/avr-device) [![docs.rs](https://docs.rs/avr-device/badge.svg)](https://docs.rs/avr-device) [![Build Status](https://travis-ci.com/Rahix/avr-device.svg?branch=master)](https://travis-ci.com/Rahix/avr-device)
avr-device [![crates.io page](http://meritbadge.herokuapp.com/avr-device)](https://crates.io/crates/avr-device) [![docs.rs](https://docs.rs/avr-device/badge.svg)](https://docs.rs/avr-device) ![Continuous Integration](https://github.com/Rahix/avr-device/workflows/Continuous%20Integration/badge.svg)
==========
Auto-generated wrappers around registers for AVR microcontrollers.