I am trying to build snap for yazi, with the following snapcraft.yaml
and github wokflow. But I only get amd64 build, not arm64.
After various trials, I only managed to build arm64 on amd64, not arm64 on arm64. Where I have gone wrong?
name: yazi
base: core24
adopt-info: yazi
summary: Blazing fast terminal file manager written in Rust, based on async I/O.
description: |
Yazi is a terminal file manager written in Rust, based on non-blocking async I/O.
It aims to provide an efficient, user-friendly, and customizable file management experience.
license: MIT
grade: stable
confinement: classic
platforms:
amd64:
arm64:
apps:
yazi:
command: yazi
environment:
PATH: $SNAP/bin:$PATH
parts:
yazi:
plugin: rust
source: https://github.com/sxyazi/yazi.git
override-build: |
craftctl default
craftctl set version=$(git describe --tags --abbrev=0)
cargo install fd-find --root $CRAFT_PART_INSTALL
cargo install ripgrep --root $CRAFT_PART_INSTALL
cargo install zoxide --root $CRAFT_PART_INSTALL
git clone --depth 1 https://github.com/junegunn/fzf.git fzf
fzf/install --bin && mv fzf/bin/fzf $CRAFT_PART_INSTALL/bin/
jobs:
build-snap-package:
runs-on: ubuntu-latest
strategy:
matrix:
arch: [amd64, arm64]
steps:
- uses: actions/checkout@v4
- uses: snapcore/action-build@v1
- uses: actions/upload-artifact@v4
with:
name: snap-${{matrix.arch}}
# path: ${{ steps.build-snap.outputs.snap }}
path: yazi*.snap
retention-days: 2