Let's get some artifacts up in this

This commit is contained in:
Jeff Epler 2025-08-13 13:49:46 -05:00
parent 40676c83a1
commit 06d3821ce7
4 changed files with 73 additions and 6 deletions

62
.github/workflows/build.yaml vendored Normal file
View file

@ -0,0 +1,62 @@
name: Build pico-mac
on:
push:
pull_request:
release:
types: [published]
check_suite:
types: [rerequested]
jobs:
bins:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Install ARM GCC
uses: carlosperate/arm-none-eabi-gcc-action@v1
with:
release: '13.2.Rel1'
- name: get submodules
run: git submodule update --init
- name: get pico-sdk
run: git clone --depth=1 -b adafruit-fruit-jam https://github.com/adafruit/pico-sdk ../pico-sdk && (cd ../pico-sdk && git submodule update --init)
- name: get pico-extras
run: git clone --depth=1 https://github.com/raspberrypi/pico-extras ../pico-extras
- name: build targets
run: |
./fruitjam-build.sh
mkdir uf2s
cp build*/src/*.uf2 uf2s/
mkdir elfs
cp build*/src/*.elf elfs/
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: uf2 files
path: uf2s/*
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: elf files
path: elfs/*
- name: Create release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v1
with:
files: uf2s/*
fail_on_unmatched_files: true
body: "Select a doom_tiny uf2 from the list below, plus the doom1-whx uf2."

3
.gitignore vendored
View file

@ -14,6 +14,7 @@ config.status
configure configure
lib lib
obj obj
picotool
rpm.spec rpm.spec
stamp-h stamp-h
stamp-h.in stamp-h.in
@ -30,6 +31,8 @@ HEXEN*.pcx
STRIFE*.pcx STRIFE*.pcx
/build* /build*
*.uf2
# These are the default patterns globally ignored by Subversion: # These are the default patterns globally ignored by Subversion:
*.o *.o
*.lo *.lo

View file

@ -2,13 +2,13 @@
* `git submodule update --init` * `git submodule update --init`
* `sh fruitjam_build.sh` * `sh fruitjam_build.sh`
* `picotool uf2 convert doom1.whx -t bin doom1-whx-for-fruitjam.uf2 -o 0x10080000 --family data`
You will get binary files including `build_fruitjam/src/doom_tiny.uf2`. You will get binary files including `build_fruitjam/src/doom_tiny.uf2`. and `build_fruitjam/src/doom1-whx-for-fruitjam.uf2`.
Copy those two uf2s to fruit jam.
Copy the uf2s (I copied `doom1-whx-for-fruitjam.uf2` first then `build_fruitjam/src/doom_tiny.uf2`) to fruit jam.
You may need to re-enter the bootloader after copying the first file. You may need to re-enter the bootloader after copying the first file.
Note: When generating your own whx files, fruit jam ALWAYS uses the offset of 0x10080000.
You should get: You should get:
* Debug UART output on pin "A4" * Debug UART output on pin "A4"
* video data on pin 8, sync on 6/7 (I expected data on 9/10 as well but there's not: It's supposed to be 1-bit RGB) * video data on pin 8, sync on 6/7 (I expected data on 9/10 as well but there's not: It's supposed to be 1-bit RGB)

View file

@ -1,8 +1,9 @@
#!/bin/sh #!/bin/sh
TAG=fruitjam TAG=fruitjam
BUILD=build_${TAG}
export CFLAGS="-include $(pwd)/fruitjam_cflags.h" export CFLAGS="-include $(pwd)/fruitjam_cflags.h"
export CXXFLAGS="-include $(pwd)/fruitjam_cflags.h" export CXXFLAGS="-include $(pwd)/fruitjam_cflags.h"
cmake -S . -B build_${TAG} \ cmake -S . -B $BUILD \
-DCMAKE_BUILD_TYPE=MinSizeRel \ -DCMAKE_BUILD_TYPE=MinSizeRel \
-DPICO_SDK_PATH=../pico-sdk \ -DPICO_SDK_PATH=../pico-sdk \
-DPICOTOOL_FETCH_FROM_GIT_PATH="$(pwd)/picotool" \ -DPICOTOOL_FETCH_FROM_GIT_PATH="$(pwd)/picotool" \
@ -10,4 +11,5 @@ cmake -S . -B build_${TAG} \
-DUSE_HSTX=1 \ -DUSE_HSTX=1 \
${CMAKE_ARGS} "$@" ${CMAKE_ARGS} "$@"
make -C build_${TAG} -j$(nproc) make -C $BUILD -j$(nproc)
./picotool/picotool-build/picotool uf2 convert doom1.whx -t bin $BUILD/src/doom1-whx-for-fruitjam.uf2 -o 0x10080000 --family data