# This workflow will build an Arch Linux ISO file with the commit on it

name: Build Arch ISO with ArchInstall Commit

on:
  push:
    branches:
      - master
      - main # In case we adopt this convention in the future
  pull_request:
    paths-ignore:
      - 'docs/**'
      - '**.editorconfig'
      - '**.gitignore'
      - '**.md'
      - 'LICENSE'
      - 'PKGBUILD'
  release:
    types:
      - created

jobs:
  build:
    runs-on: ubuntu-latest
    container:
      image: archlinux:latest
      options: --privileged
    steps:
      - uses: actions/checkout@v2
      - run: pwd
      - run: find .
      - run: cat /etc/os-release
      - run: pacman-key --init
      - run: pacman --noconfirm -Sy archlinux-keyring
      - run: mkdir -p /tmp/archlive/airootfs/root/archinstall-git; cp -r . /tmp/archlive/airootfs/root/archinstall-git
      - run: echo "pip uninstall archinstall -y; cd archinstall-git; rm -rf dist; python -m build -n; pip install dist/archinstall*.whl" > /tmp/archlive/airootfs/root/.zprofile
      - run: echo "echo \"This is an unofficial ISO for development and testing of archinstall. No support will be provided.\"" >> /tmp/archlive/airootfs/root/.zprofile
      - run: echo "echo \"This ISO was built from Git SHA $GITHUB_SHA\"" >> /tmp/archlive/airootfs/root/.zprofile
      - run: echo "echo \"Type archinstall to launch the installer.\"" >> /tmp/archlive/airootfs/root/.zprofile
      - run: cat /tmp/archlive/airootfs/root/.zprofile
      - run: pacman -Sy; pacman --noconfirm -S git archiso
      - run: cp -r /usr/share/archiso/configs/releng/* /tmp/archlive
      - run: echo -e "git\npython\npython-pip\npython-build\npython-flit\npython-setuptools\npython-wheel" >> /tmp/archlive/packages.x86_64
      - run: find /tmp/archlive
      - run: cd /tmp/archlive;  mkarchiso -v -w work/ -o out/ ./
      - uses: actions/upload-artifact@v2
        with:
          name: Arch Live ISO
          path: /tmp/archlive/out/*.iso