Help Needed: Can't build arm64 snap with github actions

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