name: Build, test, upload on: push: branches: [ master ] pull_request: branches: [ master ] workflow_dispatch: permissions: contents: read pages: write id-token: write jobs: build: runs-on: [ubuntu-latest] env: APP_NAME: fdskey OUT_DIR: fdskey steps: - name: Checkout uses: actions/checkout@v3 - name: Install compiler run: sudo apt-get install gcc-arm-none-eabi - name: Build bootloader run: | mkdir -p ${{ env.OUT_DIR }} make -C FdsKey_bootloader/interim/ OBJCOPY_BIN=../../${{ env.OUT_DIR }}/bootloader.bin EXECUTABLES=../../${{ env.OUT_DIR }}/bootloader.elf - name: Build firmware run: | mkdir -p ${{ env.OUT_DIR }} make -C FdsKey/interim/ OBJCOPY_BIN=../../${{ env.OUT_DIR }}/${{ env.APP_NAME }}.bin EXECUTABLES=../../${{ env.OUT_DIR }}/${{ env.APP_NAME }}.elf - name: Archive working-directory: ${{ env.OUT_DIR }} run: | tar -czvf ../${{ env.APP_NAME }}.tar.gz * - name: Upload artifact uses: actions/upload-artifact@v4 with: name: ${{ env.APP_NAME }} path: ${{ env.OUT_DIR }} upload-to-pages: needs: build runs-on: ubuntu-latest steps: - name: Download artifacts uses: actions/download-artifact@v4.1.7 - name: Move files to the root run: find -mindepth 2 -exec mv {} . \; - name: Calculate and save MD5 for each file run: | for file in *; do if [ -f "$file" ]; then md5sum "$file" | awk '{print $1}' > "${file}.md5" fi done - name: Generate index.html run: | echo "