|  | @@ -1,6 +1,9 @@
 | 
	
		
			
				|  |  |  name: CI
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -on: [push, pull_request]
 | 
	
		
			
				|  |  | +on:
 | 
	
		
			
				|  |  | +  push:
 | 
	
		
			
				|  |  | +    branches: [master]
 | 
	
		
			
				|  |  | +  pull_request:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  jobs:
 | 
	
		
			
				|  |  |    check:
 | 
	
	
		
			
				|  | @@ -18,9 +21,9 @@ jobs:
 | 
	
		
			
				|  |  |            command: fmt
 | 
	
		
			
				|  |  |            args: --all -- --check
 | 
	
		
			
				|  |  |        - name: Clippy
 | 
	
		
			
				|  |  | -        uses: actions-rs/cargo@v1
 | 
	
		
			
				|  |  | +        uses: actions-rs/clippy-check@v1
 | 
	
		
			
				|  |  |          with:
 | 
	
		
			
				|  |  | -          command: clippy
 | 
	
		
			
				|  |  | +          token: ${{ secrets.GITHUB_TOKEN }}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    build:
 | 
	
		
			
				|  |  |      runs-on: ubuntu-latest
 | 
	
	
		
			
				|  | @@ -30,7 +33,12 @@ jobs:
 | 
	
		
			
				|  |  |          with:
 | 
	
		
			
				|  |  |            profile: minimal
 | 
	
		
			
				|  |  |            toolchain: stable
 | 
	
		
			
				|  |  | -      - name: Build
 | 
	
		
			
				|  |  | +      - name: Build with no features
 | 
	
		
			
				|  |  | +        uses: actions-rs/cargo@v1
 | 
	
		
			
				|  |  | +        with:
 | 
	
		
			
				|  |  | +          command: build
 | 
	
		
			
				|  |  | +          args: --no-default-features
 | 
	
		
			
				|  |  | +      - name: Build with all features
 | 
	
		
			
				|  |  |          uses: actions-rs/cargo@v1
 | 
	
		
			
				|  |  |          with:
 | 
	
		
			
				|  |  |            command: build
 | 
	
	
		
			
				|  | @@ -39,8 +47,50 @@ jobs:
 | 
	
		
			
				|  |  |          uses: actions-rs/cargo@v1
 | 
	
		
			
				|  |  |          with:
 | 
	
		
			
				|  |  |            command: doc
 | 
	
		
			
				|  |  | -      - name: Test
 | 
	
		
			
				|  |  | +      - name: Test with no features
 | 
	
		
			
				|  |  | +        uses: actions-rs/cargo@v1
 | 
	
		
			
				|  |  | +        with:
 | 
	
		
			
				|  |  | +          command: test
 | 
	
		
			
				|  |  | +          args: --no-default-features
 | 
	
		
			
				|  |  | +      - name: Test with all features
 | 
	
		
			
				|  |  |          uses: actions-rs/cargo@v1
 | 
	
		
			
				|  |  |          with:
 | 
	
		
			
				|  |  |            command: test
 | 
	
		
			
				|  |  |            args: --all-features
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  examples:
 | 
	
		
			
				|  |  | +    runs-on: ubuntu-22.04
 | 
	
		
			
				|  |  | +    strategy:
 | 
	
		
			
				|  |  | +      fail-fast: false
 | 
	
		
			
				|  |  | +      matrix:
 | 
	
		
			
				|  |  | +        example:
 | 
	
		
			
				|  |  | +          - aarch64
 | 
	
		
			
				|  |  | +          - riscv
 | 
	
		
			
				|  |  | +        include:
 | 
	
		
			
				|  |  | +          - example: aarch64
 | 
	
		
			
				|  |  | +            toolchain: stable
 | 
	
		
			
				|  |  | +            target: aarch64-unknown-none
 | 
	
		
			
				|  |  | +            packages: qemu-system-arm gcc-aarch64-linux-gnu
 | 
	
		
			
				|  |  | +          - example: riscv
 | 
	
		
			
				|  |  | +            toolchain: nightly-2022-11-03
 | 
	
		
			
				|  |  | +            target: riscv64imac-unknown-none-elf
 | 
	
		
			
				|  |  | +            packages: qemu-system-misc
 | 
	
		
			
				|  |  | +    steps:
 | 
	
		
			
				|  |  | +      - uses: actions/checkout@v2
 | 
	
		
			
				|  |  | +      - name: Install QEMU
 | 
	
		
			
				|  |  | +        run: sudo apt update && sudo apt install ${{ matrix.packages }}
 | 
	
		
			
				|  |  | +      - uses: actions-rs/toolchain@v1
 | 
	
		
			
				|  |  | +        with:
 | 
	
		
			
				|  |  | +          profile: minimal
 | 
	
		
			
				|  |  | +          toolchain: ${{ matrix.toolchain }}
 | 
	
		
			
				|  |  | +          target: ${{ matrix.target }}
 | 
	
		
			
				|  |  | +          components: llvm-tools-preview, rustfmt
 | 
	
		
			
				|  |  | +      - name: Check code format
 | 
	
		
			
				|  |  | +        working-directory: examples/${{ matrix.example }}
 | 
	
		
			
				|  |  | +        run: cargo fmt --all -- --check
 | 
	
		
			
				|  |  | +      - name: Build
 | 
	
		
			
				|  |  | +        working-directory: examples/${{ matrix.example }}
 | 
	
		
			
				|  |  | +        run: make kernel
 | 
	
		
			
				|  |  | +      - name: Run
 | 
	
		
			
				|  |  | +        working-directory: examples/${{ matrix.example }}
 | 
	
		
			
				|  |  | +        run: QEMU_ARGS="-display none" make qemu
 |