Build Container Images #92
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: Build Container Images | |
| on: | |
| push: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| schedule: | |
| # Run nightly at 2:00 AM Eastern (7:00 AM UTC) | |
| - cron: '0 7 * * *' | |
| jobs: | |
| build-images: | |
| name: Build ${{ matrix.desktop }} (${{ matrix.arch }}) | |
| runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-latest' }} | |
| strategy: | |
| matrix: | |
| desktop: [kinoite, silverblue] | |
| arch: [x86_64, aarch64] | |
| fail-fast: false | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Free up disk space | |
| run: | | |
| # Remove unnecessary packages to free up space | |
| sudo apt-get clean | |
| sudo rm -rf /usr/share/dotnet | |
| sudo rm -rf /opt/ghc | |
| sudo rm -rf /usr/local/share/boost | |
| df -h | |
| - name: Login to Quay.io | |
| run: | | |
| echo "${{ secrets.QUAY_AUTH }}" | base64 -d | awk -F: '{print $2}' | docker login quay.io -u $(echo "${{ secrets.QUAY_AUTH }}" | base64 -d | awk -F: '{print $1}') --password-stdin | |
| - name: Build image | |
| run: make build-mybox DESKTOP=${{ matrix.desktop }} CONTAINER_RUNTIME=docker | |
| - name: Show image info | |
| run: | | |
| docker images | grep mybox | |
| - name: Push image | |
| run: make push-mybox DESKTOP=${{ matrix.desktop }} CONTAINER_RUNTIME=docker | |
| - name: Save image size info | |
| run: | | |
| echo "## Build Summary - ${{ matrix.desktop }} (${{ matrix.arch }})" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| docker images --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}\t{{.CreatedAt}}" | grep mybox >> $GITHUB_STEP_SUMMARY || true | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "Images pushed to Quay.io" >> $GITHUB_STEP_SUMMARY |