diff options
| -rw-r--r-- | .github/workflows/compile.yml | 49 | ||||
| -rwxr-xr-x | bin/build-all.sh | 1 | ||||
| -rwxr-xr-x | make | 4 |
3 files changed, 52 insertions, 2 deletions
diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml new file mode 100644 index 0000000..fabcf31 --- /dev/null +++ b/.github/workflows/compile.yml @@ -0,0 +1,49 @@ +name: build all + +on: + push: + branches: [ "trunk" ] + pull_request: + branches: [ "trunk" ] + +jobs: + compile: + runs-on: ubuntu-latest + + steps: + + - name: Checkout + uses: actions/checkout@master + + - name: Requirements + run: | + sudo apt-get -qqy update + sudo apt-get -qqy install avr-libc binutils-avr gcc-avr unzip wget + + - name: Cache Atmel DFPs + id: cache-dfp + uses: actions/cache@v3 + env: + cache-name: cache-dfp-files + with: + path: arch/dfp + # new cache whenever the dfp-install script changes + key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('bin/dfp-install.sh') }} + + - name: Install Atmel DFPs + if: steps.cache-dfp.outputs.cache-hit != 'true' + run: | + ./make dfp + + - name: Compile All + run: | + ./make + echo "ARTIFACT_NAME=${GITHUB_WORKFLOW}-${GITHUB_REF_NAME}-$(git rev-parse --short ${GITHUB_SHA})-${GITHUB_RUN_NUMBER}" >> "${GITHUB_ENV}" + + - name: Store Artifacts + uses: actions/upload-artifact@v3 + with: + name: ${{ env.ARTIFACT_NAME }} + if-no-files-found: error + path: | + hex/*.hex diff --git a/bin/build-all.sh b/bin/build-all.sh index 2d443a5..ac8ea98 100755 --- a/bin/build-all.sh +++ b/bin/build-all.sh @@ -66,4 +66,5 @@ echo "===== $PASS builds succeeded, $FAIL failed =====" #echo "PASS: $PASSED" if [ 0 != $FAIL ]; then echo "FAIL:$FAILED" + exit 1 fi @@ -59,7 +59,7 @@ function main() { ;; dfp) shift - ./bin/dfp-install.sh "$@" + exec ./bin/dfp-install.sh "$@" ;; docs) make-docs @@ -79,7 +79,7 @@ function main() { grep -E 'TODO:|FIXME:' **/*.[ch] ;; *) - ./bin/build-all.sh "$@" + exec ./bin/build-all.sh "$@" ;; esac } |
