Skip to content

Add FATFS build test workflow #4

Add FATFS build test workflow

Add FATFS build test workflow #4

Workflow file for this run

name: FATFS Build Test
on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
WOLFSSL_REF: v5.7.0-stable
jobs:
build_wolfssl:
name: Build wolfssl
runs-on: ubuntu-latest
timeout-minutes: 4
steps:
- name: Checking cache for wolfssl
uses: actions/cache@v4
id: cache-wolfssl
with:
path: build-dir/
key: wolfssh-fatfs-check-wolfssl-${{ env.WOLFSSL_REF }}
lookup-only: true
- name: Checkout, build, and install wolfssl
if: steps.cache-wolfssl.outputs.cache-hit != 'true'
uses: wolfSSL/actions-build-autotools-project@v1
with:
repository: wolfssl/wolfssl
ref: ${{ env.WOLFSSL_REF }}
path: wolfssl
configure: --enable-wolfssh --enable-cryptonly
check: false
install: true
build_wolfssh:
name: Build wolfssh with FATFS
runs-on: ubuntu-latest
timeout-minutes: 4
needs: build_wolfssl
steps:
- name: Checking cache for wolfssl
uses: actions/cache@v4
with:
path: build-dir/
key: wolfssh-fatfs-check-wolfssl-${{ env.WOLFSSL_REF }}
fail-on-cache-miss: true
- name: Setup FATFS
run: |
git clone https://github.com/FatFs/FatFs.git
cd FatFs/source
mkdir -p ${{ github.workspace }}/build-dir/include/fatfs
cp *.h ${{ github.workspace }}/build-dir/include/fatfs/
cp *.c ${{ github.workspace }}/build-dir/include/fatfs/
mkdir -p ${{ github.workspace }}/build-dir/include/wolfssh
echo "#define WOLFSSH_FATFS" > ${{ github.workspace }}/build-dir/include/wolfssh/myFilesystem.h
echo "#undef WOLFSSH_USER_FILESYSTEM" >> ${{ github.workspace }}/build-dir/include/wolfssh/myFilesystem.h
echo "#include <ff.h>" >> ${{ github.workspace }}/build-dir/include/wolfssh/myFilesystem.h
- name: Checkout, build, and test wolfssh
uses: wolfSSL/actions-build-autotools-project@v1
with:
repository: wolfssl/wolfssh
path: wolfssh
configure: --enable-sftp --enable-all CPPFLAGS="-DWOLFSSH_FATFS -I${{ github.workspace }}/build-dir/include -I${{ github.workspace }}/build-dir/include/fatfs -I${{ github.workspace }}/build-dir/include/wolfssh" LDFLAGS="-L${{ github.workspace }}/build-dir/lib"
check: true