name: Artifact

on: [push, pull_request]

jobs:
  artifact:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - uses: actions/cache@v2
        with:
          path: .cache
          key: nix-v1-${{ hashFiles('nix/nixpkgs.json') }}

      - run: sudo apt-get update

      - run: sudo apt-get install -y make git gcc build-essential pkgconf libtool libsystemd-dev libcap-dev libseccomp-dev libyajl-dev go-md2man libtool autoconf python3 automake libprotobuf-c-dev

      - run: |
          set -ex
          sudo mkdir -p .cache
          sudo mv .cache /nix
          if [[ -z $(ls -A /nix) ]]; then sudo docker run --rm --privileged -v /:/mnt nixos/nix cp -rfT /nix /mnt/nix; fi
          sudo RUNTIME=docker SKIP_CHECKS=1 SKIP_GPG=1 build-aux/release.sh
          sudo mv /nix .cache
          sudo chown -Rf $(whoami) .cache

      - run: |
          sudo mv release-* /tmp/artifact
          sudo mv /tmp/artifact/crun-*-linux-amd64 /tmp/artifact/crun-linux-amd64
          sudo mv /tmp/artifact/crun-*-linux-amd64-disable-systemd /tmp/artifact/crun-linux-amd64-disable-systemd
          sudo mv /tmp/artifact/crun-*-linux-arm64 /tmp/artifact/crun-linux-arm64
          sudo mv /tmp/artifact/crun-*-linux-arm64-disable-systemd /tmp/artifact/crun-linux-arm64-disable-systemd
          sudo mv /tmp/artifact/*.tar.gz /tmp/artifact/crun.tar.gz
          sudo mv /tmp/artifact/*.tar.xz /tmp/artifact/crun.tar.xz
          (cd /tmp/artifact; sha256sum * | sudo tee CHECKSUMS)

      - uses: actions/upload-artifact@v2
        with:
          name: crun-linux-amd64
          path: /tmp/artifact/crun-linux-amd64

      - uses: actions/upload-artifact@v2
        with:
          name: crun-linux-amd64-disable-systemd
          path: /tmp/artifact/crun-linux-amd64-disable-systemd

      - uses: actions/upload-artifact@v2
        with:
          name: crun-linux-arm64
          path: /tmp/artifact/crun-linux-arm64

      - uses: actions/upload-artifact@v2
        with:
          name: crun-linux-arm64-disable-systemd
          path: /tmp/artifact/crun-linux-arm64-disable-systemd

      - uses: actions/upload-artifact@v2
        with:
          name: crun.tar.gz
          path: /tmp/artifact/crun.tar.gz

      - uses: actions/upload-artifact@v2
        with:
          name: crun.tar.xz
          path: /tmp/artifact/crun.tar.xz

      - uses: actions/upload-artifact@v2
        with:
          name: CHECKSUMS
          path: /tmp/artifact/CHECKSUMS
