name: Build native tarballs

on:
  push:
  workflow_dispatch:

jobs:
  build-tarballs:
    strategy:
      matrix:
        include:
          - { target: x86_64,  os: ubuntu-24.04 }
          - { target: aarch64, os: ubuntu-24.04-arm }
          - { target: arm,     os: ubuntu-24.04-arm }

    runs-on: ${{ matrix.os }}

    permissions:
      contents: read
      packages: write

    steps:
    - name: Checkout Repository
      uses: actions/checkout@v4

    - name: Install Podman
      run: sudo apt-get update && sudo apt-get install -y podman qemu-user-static

    - name: Login to GitHub Container Registry
      uses: redhat-actions/podman-login@v1
      with:
        registry: ghcr.io
        username: ${{ github.repository_owner }}
        password: ${{ secrets.GITHUB_TOKEN }}

    - name: Build a tarball
      run: ./dist.sh ${{ matrix.target }}

    - name: Upload artifact
      uses: actions/upload-artifact@v4
      with:
        name: ${{ matrix.target }}
        path: dist/mold-*.tar.gz
        compression-level: 0
