name: Build concurrency: group: "master-build" #cancel-in-progress: true on: push: branches: [ main ] jobs: build: runs-on: ubuntu-latest env: ARCH: amd64 steps: - name: Release space from worker run: | echo "Listing top largest packages" pkgs=$(dpkg-query -Wf '${Installed-Size}\t${Package}\t${Status}\n' | awk '$NF == "installed"{print $1 "\t" $2}' | sort -nr) head -n 30 <<< "${pkgs}" echo df -h echo sudo apt-get remove -y '^llvm-.*|^libllvm.*' || true sudo apt-get remove --auto-remove android-sdk-platform-tools || true sudo apt-get purge --auto-remove android-sdk-platform-tools || true sudo rm -rf /usr/local/lib/android sudo apt-get remove -y '^dotnet-.*|^aspnetcore-.*' || true sudo rm -rf /usr/share/dotnet sudo apt-get remove -y '^mono-.*' || true sudo apt-get remove -y '^ghc-.*' || true sudo apt-get remove -y '.*jdk.*|.*jre.*' || true sudo apt-get remove -y 'php.*' || true sudo apt-get remove -y hhvm powershell firefox monodoc-manual msbuild || true sudo apt-get remove -y '^google-.*' || true sudo apt-get remove -y azure-cli || true sudo apt-get remove -y '^mongo.*-.*|^postgresql-.*|^mysql-.*|^mssql-.*' || true sudo apt-get remove -y '^gfortran-.*' || true sudo apt-get autoremove -y sudo apt-get clean echo echo "Listing top largest packages" pkgs=$(dpkg-query -Wf '${Installed-Size}\t${Package}\t${Status}\n' | awk '$NF == "installed"{print $1 "\t" $2}' | sort -nr) head -n 30 <<< "${pkgs}" echo sudo rm -rfv build || true df -h - uses: actions/checkout@v4 - run: | git fetch --prune --unshallow mkdir build - name: Download meta 🔧 uses: luet-lab/luet-github-action@master with: FINAL_REPO: quay.io/kairos/packages REPOSITORY_TYPE: docker downloadAllMeta: true downloadFromList: true downloadMeta: true - name: Build packages 🔧 uses: luet-lab/luet-github-action@master if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} with: build: true fromIndex: true onlyMissing: true FINAL_REPO: quay.io/kairos/packages DOCKER_USERNAME: ${{ secrets.QUAY_USERNAME }} DOCKER_PASSWORD: ${{ secrets.QUAY_PASSWORD }} DOCKER_ENDPOINT: quay.io REPOSITORY_TYPE: docker pushFinalImages: true pushCache: true values: values/amd64.yaml - name: Create repo 🔧 uses: luet-lab/luet-github-action@master if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} with: FINAL_REPO: quay.io/kairos/packages DOCKER_USERNAME: ${{ secrets.QUAY_USERNAME }} DOCKER_PASSWORD: ${{ secrets.QUAY_PASSWORD }} DOCKER_ENDPOINT: quay.io REPOSITORY_TYPE: docker createRepo: true pushCache: true