nightly-build #11
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: nightly-build | |
| on: | |
| schedule: | |
| - cron: '0 0 * * *' | |
| workflow_dispatch: | |
| jobs: | |
| linux: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout ramalama | |
| uses: actions/checkout@v4 | |
| - name: Free Disk Space Linux | |
| shell: bash | |
| run: | | |
| sudo docker rmi "$(docker image ls -aq)" >/dev/null 2>&1 || true | |
| sudo rm -rf \ | |
| /usr/share/dotnet /usr/local/lib/android /opt/ghc \ | |
| /usr/local/share/powershell /usr/share/swift /usr/local/.ghcup \ | |
| /usr/lib/jvm || true | |
| sudo apt install aptitude -y >/dev/null 2>&1 | |
| - name: Upgrade to podman 5 | |
| run: | | |
| set -e | |
| # Enable universe repository which contains podman | |
| sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu oracular universe" | |
| # Update package lists | |
| sudo apt-get update | |
| sudo apt-get purge firefox | |
| # Install specific podman version | |
| sudo apt-get upgrade | |
| # /mnt has ~ 65 GB free disk space. / is too small. | |
| - name: Reconfigure Docker data-root | |
| run: | | |
| set -e | |
| sudo mkdir -p /mnt/docker /etc/docker | |
| echo '{"data-root": "/mnt/docker"}' > /tmp/daemon.json | |
| sudo mv /tmp/daemon.json /etc/docker/daemon.json | |
| sudo systemctl restart docker.service | |
| df -h | |
| - name: Docker info | |
| run: docker info | |
| - name: Print disk space after cleanup | |
| shell: bash | |
| run: | | |
| df -h | |
| - name: Build a container for CPU inferencing | |
| run: ./container_build.sh build ramalama | |
| - name: Install end-to-end test requirements | |
| run: | | |
| sudo apt-get install bats | |
| make install-requirements | |
| - name: Run end-to-end tests | |
| run: make end-to-end-tests | |
| macos: | |
| runs-on: macos-14 | |
| steps: | |
| - name: Checkout ramalama | |
| uses: actions/checkout@v4 | |
| - name: Install end-to-end test requirements | |
| shell: bash | |
| run: | | |
| brew install go shellcheck bats | |
| make install-requirements | |
| - name: Run end-to-end tests | |
| shell: bash | |
| run: make end-to-end-tests | |
| build: | |
| runs-on: ubuntu-24.04 | |
| needs: [linux, macos] | |
| steps: | |
| - name: Checkout ramalama | |
| uses: actions/checkout@v4 | |
| - name: Upgrade to podman 5 | |
| run: | | |
| set -e | |
| # Enable universe repository which contains podman | |
| sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu oracular universe" | |
| # Update package lists | |
| sudo apt-get update | |
| sudo apt-get purge firefox | |
| # Install specific podman version | |
| sudo apt-get upgrade | |
| - name: install qemu-user-static | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install qemu-user-static | |
| - name: Login to quay | |
| uses: redhat-actions/podman-login@v1.7 | |
| with: | |
| registry: quay.io | |
| username: ${{ secrets.USERNAME }} | |
| password: ${{ secrets.PASSWORD }} | |
| - name: Build images for amd64 and arm64 | |
| uses: redhat-actions/buildah-build@v2 | |
| id: build_image | |
| with: | |
| image: quay.io/ramalama/ramalama | |
| tags: nightly | |
| containerfiles: | | |
| container-images/ramalama/Containerfile | |
| platforms: linux/amd64, linux/arm64 | |
| - name: Push images to quay | |
| uses: redhat-actions/push-to-registry@v2.8 | |
| with: | |
| image: ramalama/ramalama | |
| tags: nightly | |
| registry: quay.io |