Unverified Commit 6b162daf authored by bors[bot]'s avatar bors[bot] Committed by GitHub
Browse files

Merge #15



15: create workflow for aarch64 r=stlankes a=stlankes

The PR revise the workflow to build also the loader for aarch64. In addition, a demo application is stored in the directory data.  The application is used to test the loader on x86_64.
Co-authored-by: Stefan Lankes's avatarStefan Lankes <slankes@eonerc.rwth-aachen.de>
parents bded078f 0e3b881b
Pipeline #469095 passed with stages
in 2 minutes and 43 seconds
*.png filter=lfs diff=lfs merge=lfs -text
data/** filter=lfs diff=lfs merge=lfs -text
name: Test aarch64
on:
pull_request:
push:
branches:
- master
- staging
- trying
schedule:
- cron: '0 0 * * 6'
jobs:
build:
name: Test aarch64
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macOS-latest]
rust: [nightly]
include:
- os: macOS-latest
rust: 'nightly'
components: 'rust-src, llvm-tools-preview'
targets: 'aarch64-apple-darwin'
- os: ubuntu-latest
rust: 'nightly'
components: 'rust-src, llvm-tools-preview'
targets: 'aarch64-unknown-linux-gnu'
steps:
- uses: hecrj/setup-rust-action@v1
with:
rust-version: ${{ matrix.rust }}
components: ${{ matrix.components || '' }}
targets: ${{ matrix.targets || '' }}
- uses: actions/checkout@v2
with:
lfs: true
- name: Check Cargo availability
run: cargo --version
- name: Install qemu (apt)
run: sudo apt-get update --fix-missing && sudo apt-get install qemu-system-aarch64
if: ${{ matrix.os == 'ubuntu-latest' }}
- name: Install qemu (macos)
run: |
brew install qemu
if: ${{ matrix.os == 'macOS-latest' }}
- name: Build loader (unix)
run: make arch=aarch64
name: Check format
on:
push:
branches:
- master
pull_request:
push:
branches:
- master
- staging
- trying
jobs:
build:
name: Format check
runs-on: ${{ matrix.os }}
strategy:
......@@ -30,9 +30,9 @@ jobs:
rust-version: ${{ matrix.rust }}
components: ${{ matrix.components || '' }}
targets: ${{ matrix.targets || '' }}
- uses: actions/checkout@v1
- uses: actions/checkout@v2
with:
submodules: true
lfs: true
- name: Check Cargo availability
run: cargo --version
- name: Check Formatting
......
name: Build
name: Test x86_64
on:
push:
pull_request:
push:
branches:
- master
- staging
- trying
schedule:
- cron: '0 0 * * 6'
jobs:
build:
name: Test x86_64
runs-on: ${{ matrix.os }}
strategy:
......@@ -37,9 +39,9 @@ jobs:
rust-version: ${{ matrix.rust }}
components: ${{ matrix.components || '' }}
targets: ${{ matrix.targets || '' }}
- uses: actions/checkout@v1
- uses: actions/checkout@v2
with:
submodules: true
lfs: true
- name: Check Cargo availability
run: cargo --version
- name: Install qemu/nasm (apt)
......@@ -76,3 +78,6 @@ jobs:
echo "LLVM Objcopy - $LLVM_OBJCOPY"
Invoke-Expression "$LLVM_OBJCOPY --strip-debug -O elf32-i386 target/x86_64-unknown-hermit-loader/debug/rusty-loader"
if: ${{ matrix.os == 'windows-latest' }}
- name: Test loader
run:
qemu-system-x86_64 -display none -smp 1 -m 64M -serial stdio -kernel target/x86_64-unknown-hermit-loader/debug/rusty-loader -initrd data/hello_world -cpu qemu64,apic,fsgsbase,rdtscp,xsave,fxsr,rdrand
......@@ -9,6 +9,7 @@ variables:
DOCKER_IMAGE: ${CI_REGISTRY_IMAGE}
IMAGE: ${CI_REGISTRY_IMAGE}
GIT_SUBMODULE_STRATEGY: normal
GIT_LFS_SKIP_SMUDGE: 1
FF_GITLAB_REGISTRY_HELPER_IMAGE: 1
.prepare:docker: &prepare_docker
......
arch ?= x86_64
target ?= $(arch)-unknown-hermit
release ?= 0
app ?= "$(PWD)/data/hello_world"
opt :=
rdir := debug
......@@ -41,5 +42,5 @@ docs:
loader:
@echo Build loader
cargo build $(opt) -Z build-std=core,alloc -Z build-std-features=compiler-builtins-mem --target $(target)-loader.json
HERMIT_APP=$(app) cargo build $(opt) -Z build-std=core,alloc -Z build-std-features=compiler-builtins-mem --target $(target)-loader.json
$(CONVERT)
status = [
"Build / build (ubuntu-latest, nightly)",
"Format check / build (ubuntu-latest, nightly)",
"Test aarch64 (ubuntu-latest, nightly)",
"Test aarch64 (macOS-latest, nightly)",
"Test x86_64 (ubuntu-latest, nightly)",
"Test x86_64 (macOS-latest, nightly)",
"Format check (ubuntu-latest, nightly)",
]
delete_merged_branches = true
timeout_sec = 7200
File added
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment