name: Build on: push: branches: ci* tags: '*' jobs: create_release: name: Create release runs-on: ubuntu-latest outputs: upload_url: ${{ steps.create_release.outputs.upload_url }} steps: - uses: actions/checkout@v2 with: fetch-depth: 0 submodules: false - name: Generate release name id: release_name # https://github.community/t/how-to-get-just-the-tag-name/16241/4 run: echo ::set-output name=name::${GITHUB_REF/refs\/*s\//} - name: Generate changes file uses: sarnold/gitchangelog-action@master with: config_file: .gitchangelog.rc github_token: ${{ secrets.GITHUB_TOKEN }} - name: Create release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ steps.release_name.outputs.name }}-tag release_name: ${{ steps.release_name.outputs.name }} body_path: CHANGES.md draft: false prerelease: true build-sd: runs-on: ubuntu-20.04 needs: [create_release] steps: - uses: actions/checkout@v2 with: submodules: true - name: Make /opt writable run: sudo chown "$(whoami):$(whoami)" /opt - name: Install cegcc run: | wget -O cegcc.zip https://github.com/brain-hackers/cegcc-build/releases/download/2022-04-11-133546/cegcc-2022-04-11-133546.zip unzip -q cegcc.zip cp -r cegcc /opt/ - name: Workaround for apt update failure run: sudo rm /etc/apt/sources.list.d/github_git-lfs.* - name: Install deps run: sudo apt update && sudo apt install kpartx build-essential bison flex libncurses5-dev gcc-arm-linux-gnueabi qemu-user-static debootstrap - name: Configure for Linux run: make ldefconfig - name: Build Linux run: make lbuild - name: Build Debian Root run: make minimal - name: Generate image name id: image_name run: echo ::set-output name=name::sdimage-${GITHUB_REF/refs\/*s\//} - name: Build SD image run: make image/sd.img && mv image/sd.img ${{ steps.image_name.outputs.name }}.img - name: Compress run: zip ${{ steps.image_name.outputs.name }}.zip ${{ steps.image_name.outputs.name }}.img - name: Upload the image uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ needs.create_release.outputs.upload_url }} asset_path: ${{ steps.image_name.outputs.name }}.zip asset_name: ${{ steps.image_name.outputs.name }}.zip asset_content_type: application/zip