Skip to content

use crate qemu-exit to leave the vm #282

use crate qemu-exit to leave the vm

use crate qemu-exit to leave the vm #282

Workflow file for this run

name: Run
on:
push:
branches:
- stage0
pull_request:
branches:
- stage0
schedule:
- cron: '0 0 * * 6'
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest,macos-latest,windows-latest]
steps:
- name: Install QEMU (ubuntu)
if: ${{ matrix.os == 'ubuntu-latest' }}
run: |
sudo apt-get update
sudo apt-get install qemu-system-x86
- name: Install QEMU (macos)
if: ${{ matrix.os == 'macos-latest' }}
run: |
brew update
brew install qemu
- name: Install QEMU (windows)
if: ${{ matrix.os == 'windows-latest' }}
run: |
choco install qemu
echo "$Env:Programfiles\qemu" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
shell: pwsh
- uses: actions/checkout@v4
- name: Check Cargo availability
run: cargo --version
- name: Install bootimage
run: cargo install bootimage
- name: Build (x86_64)
run:
cargo build
- name: Build (i686)
run:
cargo build --target=i686-eduos.json
- name: run (ubuntu)
if: ${{ matrix.os == 'ubuntu-latest' }}
run: ./test.sh
- name: run (macos)
if: ${{ matrix.os == 'macos-latest' }}
run: ./test.sh
- name: run (windows)
if: ${{ matrix.os == 'windows-latest' }}
run: pwsh -command ".\$GITHUB_WORKSPACE\test.ps1"
- name: Build release for v86 (i686)
run:
cargo build --target=i686-eduos.json --release --features vga --no-default-features
- name: Upload the artifact
if: ${{ matrix.os == 'ubuntu-latest' }}
uses: actions/upload-artifact@v4
with:
name: i686-eduos-stage0
path: |
target/i686-eduos/release/eduos-rs
publish:
name: Upload release
runs-on: ubuntu-latest
needs: build
steps:
- uses: dev-drprasad/[email protected]
with:
delete_release: true
tag_name: stage0
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Get artifacts
uses: actions/download-artifact@v4
with:
name: i686-eduos-stage0
path: .
- name: Rename file
run: mv eduos-rs i686-eduos-stage0
- name: Display structure of downloaded files
run: ls -R
- name: Release to GitHub
uses: ncipollo/release-action@v1
with:
name: Latest Stage0 Release
tag: stage0
commit: stage0
body: ${{ github.event.head_commit.message }}
artifacts: "i686-eduos-stage0"
prerelease: true