Publish #25
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Publish | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| openwrt_version: | |
| description: 'OpenWrt version' | |
| # Use SNAPSHOT for APK and 24.10-SNAPSHOT for IPK | |
| default: '24.10-SNAPSHOT' | |
| required: true | |
| type: string | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| build: | |
| name: ${{ matrix.arch }} build | |
| runs-on: ubuntu-latest | |
| continue-on-error: true | |
| strategy: | |
| matrix: | |
| arch: | |
| ## Rust Tier 2 with Host Tools #### | |
| ## aarch64-unknown-linux-musl ##### | |
| - aarch64_cortex-a53 # OK. RPi 3+ | |
| - aarch64_cortex-a72 # OK | |
| - aarch64_cortex-a76 # OK | |
| - aarch64_generic # OK | |
| ## Tier 2 without Host Tools ###### | |
| ## arm-unknown-linux-musleabi* #### | |
| - arm_arm1176jzf-s_vfp # OK. RPi Zero | |
| - arm_arm926ej-s # OK | |
| - arm_cortex-a15_neon-vfpv4 # OK | |
| - arm_cortex-a5_vfpv4 # OK | |
| - arm_cortex-a7 # OK | |
| - arm_cortex-a7_neon-vfpv4 # OK | |
| - arm_cortex-a7_vfpv4 # Fails with: Skipping librespot due to unsupported architecture. Target at91/sama7 | |
| - arm_cortex-a8_vfpv3 # OK | |
| - arm_cortex-a9 # OK | |
| - arm_cortex-a9_neon # OK | |
| - arm_cortex-a9_vfpv3-d16 # OK | |
| - arm_fa526 # OK | |
| - arm_xscale # OK | |
| - armeb_xscale # Fails with: Skipping librespot due to unsupported architecture. Target ixp4xx/generic | |
| ## Tier 2 with Host Tools ######### | |
| ## loongarch64-unknown-linux-musl # | |
| - loongarch64_generic # OK | |
| ## Tier 2 with Host Tools ######### | |
| ## riscv64gc-unknown-linux-musl ### | |
| - riscv64_riscv64 # OK | |
| ## Tier 2 with Host Tools ########## | |
| ## x86_64-unknown-linux-musl ####### | |
| - x86_64 # OK | |
| ## Tier 2 without Host Tools ###### | |
| ## i*86-unknown-linux-musl ######## | |
| - i386_pentium-mmx # Fails with: Ring does not compile intel.rs due to missing SSE. Targets x86/geode and x86/legacy | |
| - i386_pentium4 # Fails with: Ring does not compile intel.rs due to missing SSE. Target x86/generic | |
| ## Tier 3 ######################### | |
| ## mips*-unknown-linux-musl ####### | |
| - mips64_mips64r2 # OK | |
| - mips64_octeonplus # OK | |
| - mips64el_mips64r2 # Fails with: Warning: Skipping librespot due to unsupported architecture. Target malta/le64 | |
| - mips_24kc # OK | |
| - mips_4kec # Fails with: Warning: Skipping librespot due to unsupported architecture. Target realtek/rtl838x | |
| - mips_mips32 # OK | |
| - mipsel_24kc # OK | |
| - mipsel_24kc_24kf # OK | |
| - mipsel_74kc # OK | |
| - mipsel_mips32 # OK | |
| ## Tier 3 ######################### | |
| ## powerpc*-unknown-linux-musl #### | |
| - powerpc64_e5500 # OK | |
| - powerpc_464fp # OK | |
| - powerpc_8548 # OK | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Build | |
| uses: openwrt/gh-action-sdk@main | |
| env: | |
| ARCH: ${{ matrix.arch }}-${{ github.event.inputs.openwrt_version }} | |
| V: sc | |
| PACKAGES: librespot | |
| - name: List outputs | |
| run: | | |
| find bin/packages | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: ls-${{ matrix.arch }} | |
| path: | | |
| bin/packages/${{ matrix.arch }}/action/*.ipk | |
| bin/packages/${{ matrix.arch }}/action/*.apk | |
| release: | |
| name: Release all packages | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| path: artifacts | |
| pattern: ls-* | |
| merge-multiple: true | |
| - name: List outputs | |
| id: list | |
| run: | | |
| find artifacts | |
| ls artifacts | head -n 1 | awk -F"_" '{ print "librespot_version="$2 }' >> "$GITHUB_OUTPUT" | |
| - name: Release | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| prerelease: true | |
| tag_name: v${{ steps.list.outputs.librespot_version }}_${{ github.event.inputs.openwrt_version }}_${{ github.run_number }} | |
| body: | | |
| Librespot v${{ steps.list.outputs.librespot_version }} OpenWrt ${{ github.event.inputs.openwrt_version }} build | |
| files: | | |
| artifacts/* |