name: Build ISO on: workflow_dispatch: push: branches: - main jobs: build: runs-on: ubuntu-latest env: GITHUB_TOKEN: ${{ secrets.SECRET_TOKEN }} container: image: ghcr.io/crystal-linux/crystal:latest options: --privileged steps: - name: Build id: build run: | # Set BUILD_DATE export BUILD_DATE=$(date +'%m-%d-%g-%H-%M') # Make sure container is up-to-date pacman -Syu --needed --noconfirm pacman -S --noconfirm --needed bind # Make sure repo.getcryst.al is up nslookup repo.getcryst.al # Install necessary packages pacman -S git archiso pacman-contrib --needed --noconfirm # Clone ISO repo and enter it git clone https://github.com/crystal-linux/iso/ cd iso # Build ISO and rename to match BUILD_DATE bash build.sh --build-iso if [[ ! "$(ls *.iso)" == "crystal-live-${BUILD_DATE}-x86_64.iso" ]]; then mv *.iso crystal-live-${BUILD_DATE}-x86_64.iso fi md5sum *.iso > MD5SUM-iso # Remove chrooted.sh in between operations rm chrooted.sh # Likewise, but for the rootfs bash build.sh --build-bootstrap md5sum *.tar.gz > MD5SUM-rootfs mv *.tar.gz crystal-rootfs-${BUILD_DATE}-x86_64.tar.gz # Set upload name to BUILD_DATE echo "::set-output name=date::${BUILD_DATE}" - name: Upload uses: ncipollo/release-action@v1 with: artifacts: "iso/*.iso,iso/MD5SUM-iso,iso/*.tar.gz,iso/MD5SUM-rootfs" token: ${{ secrets.GITHUB_TOKEN }} tag: ${{ steps.build.outputs.date }}