use crate qemu-exit to leave the vm #283
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |