A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd
at master 82 lines 2.5 kB view raw
1name: ci 2on: 3 push: 4 tags: 5 - "*" 6 workflow_dispatch: 7 inputs: 8 tag: 9 description: "The existing tag to publish" 10 type: "string" 11 required: true 12 13jobs: 14 publish: 15 runs-on: ${{ matrix.os }} 16 strategy: 17 matrix: 18 os: [ubuntu-latest] 19 permissions: 20 contents: write 21 packages: write 22 steps: 23 - uses: actions/checkout@v4 24 with: 25 submodules: true 26 - name: Install dependencies 27 run: | 28 sudo apt-get update 29 sudo apt-get install -y build-essential libsdl2-dev \ 30 libfreetype6-dev \ 31 libunwind-dev \ 32 curl \ 33 wget \ 34 zip \ 35 unzip \ 36 protobuf-compiler \ 37 cmake 38 curl -Ssf https://pkgx.sh | sh 39 pkgm install zig@0.15.1 buf 40 - name: Install Rust toolchain 41 uses: actions-rs/toolchain@v1 42 with: 43 profile: minimal 44 toolchain: 1.91.0 45 override: true 46 - name: Setup Deno 47 uses: denoland/setup-deno@v2 48 with: 49 deno-version: v2.x 50 - name: Setup Fluent CI 51 uses: fluentci-io/setup-fluentci@v5 52 env: 53 GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} 54 - name: Skip Rust Warnings 55 run: echo "RUSTFLAGS=-A warnings" >> $GITHUB_ENV 56 - name: Build Rockbox 57 run: | 58 export PATH=$HOME/.local/bin:$PATH 59 cd webui/rockbox 60 deno install 61 deno run build 62 cd ../.. && mkdir build-lib && cd build-lib 63 ../tools/configure --target=sdlapp --type=N --lcdwidth=320 --lcdheight=240 --prefix=/usr/local && cp ../autoconf/autoconf.h . 64 make lib -j$(nproc) 65 cd .. 66 cargo build -p rockbox-cli --release 67 cargo build -p rockbox-server --release 68 cargo build -p rockbox --release 69 cd zig && zig build 70 cd ../build-lib 71 sudo make install 72 cd .. 73 sudo mkdir -p /usr/local/bin /usr/local/share/rockbox 74 sudo cp zig/zig-out/bin/rockboxd /usr/local/bin 75 sudo cp target/release/rockbox /usr/local/bin 76 sudo cp -r assets/* /usr/local/share/rockbox 77 sudo chown -R $(whoami):$(whoami) /usr/local 78 fluentci run --wasm . release 79 env: 80 GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} 81 GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 82 TAG: ${{ inputs.tag || github.ref_name }}