mirror of
https://github.com/trussed-dev/littlefs2.git
synced 2026-06-20 04:16:32 -07:00
Add CI job for avr target
This commit is contained in:
@@ -62,3 +62,53 @@ jobs:
|
||||
- name: Check documentation
|
||||
if: matrix.target == 'x86_64-unknown-linux-gnu'
|
||||
run: RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --workspace
|
||||
|
||||
build-avr:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Install build dependencies
|
||||
shell: bash
|
||||
run: |
|
||||
env && pwd && sudo apt-get update -y -qq && sudo apt-get install -y -qq llvm gcc-avr avr-libc libclang-dev
|
||||
|
||||
- name: Install rust
|
||||
run: rustup toolchain install --profile minimal --component=rust-src nightly
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Configure target
|
||||
run: |
|
||||
cat <<EOT > avr-atmega328p.json
|
||||
{
|
||||
"arch": "avr",
|
||||
"atomic-cas": false,
|
||||
"cpu": "atmega328p",
|
||||
"data-layout": "e-P1-p:16:8-i8:8-i16:8-i32:8-i64:8-f32:8-f64:8-n8-a:8",
|
||||
"eh-frame-header": false,
|
||||
"exe-suffix": ".elf",
|
||||
"late-link-args": {
|
||||
"gcc": [
|
||||
"-lgcc"
|
||||
]
|
||||
},
|
||||
"linker": "avr-gcc",
|
||||
"llvm-target": "avr-unknown-unknown",
|
||||
"max-atomic-width": 8,
|
||||
"no-default-libraries": false,
|
||||
"pre-link-args": {
|
||||
"gcc": [
|
||||
"-mmcu=atmega328p"
|
||||
]
|
||||
},
|
||||
"relocation-model": "static",
|
||||
"target-c-int-width": "16",
|
||||
"target-pointer-width": "16"
|
||||
}
|
||||
EOT
|
||||
|
||||
- name: Patch delog
|
||||
run: echo 'delog = { version = "0.1.6", git = "https://github.com/LechevSpace/delog.git", rev = "e83f3fd" }' >> Cargo.toml
|
||||
|
||||
- name: Build avr
|
||||
run: cargo +nightly build -Z build-std=core --target=./avr-atmega328p.json --workspace --release
|
||||
|
||||
Reference in New Issue
Block a user