Migrate to github actions for CI

This commit is contained in:
Sam Tebbs 2019-09-17 18:49:53 +01:00
parent 70e817ddd7
commit 833ca22989
3 changed files with 32 additions and 41 deletions

31
.github/workflows/main.yml vendored Normal file
View file

@ -0,0 +1,31 @@
name: CI
on: [push]
jobs:
test:
name: Build mode ${{ matrix.build_mode }}
runs-on: ubuntu-latest
strategy:
matrix:
build_mode: ["", -Drelease-fast=true, -Drelease-safe=true, -Drelease-small=true]
steps:
- uses: actions/checkout@v1
- name: Download zig
run: |
export PYTHONIOENCODING=utf8
wget $(curl -s 'https://ziglang.org/download/index.json' | python3 -c "import sys, json; print(json.load(sys.stdin)['master']['x86_64-linux']['tarball'])")
sudo apt-get install mtools
tar -xvf zig*
- name: Build kernel
run: zig*/zig build ${{ matrix.build_mode }}
- name: Run unit tests
run: zig*/zig build test ${{ matrix.build_mode }}
- name: Install qemu
run: |
sudo apt-get update
sudo apt-get install qemu qemu-system --fix-missing
- name: Run runtime tests
run: zig*/zig build test -Drt-test=true ${{ matrix.build_mode }}

View file

@ -1,6 +1,6 @@
# Pluto
[![Build Status](https://dev.azure.com/samueltebbs/pluto/_apis/build/status/SamTebbs33.pluto?branchName=develop)](https://dev.azure.com/samueltebbs/samueltebbs/_build/latest?definitionId=1&branchName=develop)
[![Build Status](https://github.com/SamTebbs33/pluto/workflows/CI/badge.svg)](https://github.com/SamTebbs33/pluto/actions)
Pluto is a kernel written almost entirely in [Zig](https://github.com/ziglang/zig) and supports x86, with aarch64 and x64 backends being planned.

View file

@ -1,40 +0,0 @@
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
trigger:
- develop
- feature/*
pr:
- develop
- feature/*
pool:
vmImage: 'ubuntu-latest'
variables:
zig_version: master
steps:
- script: |
export PYTHONIOENCODING=utf8
wget $(curl -s 'https://ziglang.org/download/index.json' | python3 -c "import sys, json; print(json.load(sys.stdin)['$(zig_version)']['x86_64-linux']['tarball'])")
tar -xvf zig*
displayName: 'Download zig'
- script: zig*/zig build
displayName: 'Build kernel'
- script: zig*/zig build test
displayName: 'Unit tests'
- script: |
sudo apt-get update
sudo apt-get install qemu qemu-system --fix-missing
displayName: 'Download qemu'
- script: |
zig*/zig build test -Drt-test=true
displayName: 'Runtime tests'