name: Build container images on: workflow_dispatch: pull_request: branches: ["main"] push: branches: ["main"] jobs: build_push: name: Build and push image runs-on: job-v2 strategy: fail-fast: false matrix: image: [base] version: [43] container: image: "quay.io/fedora/fedora:rawhide" options: "--privileged --user 0:0 --device=/dev/kvm --device=/dev/fuse --volume /:/run/host:rw" steps: - name: Install tools Fedora CI uses run: | dnf install -y podman skopeo nodejs - name: Checkout repository uses: actions/checkout@v4 - name: Build OCI bootc image (Fedora CI method) run: | mkdir -p oci podman run --rm --privileged \ -v $PWD:/build \ -w /build \ quay.io/centos-bootc/bootc-image-builder:latest \ --type oci \ --output oci \ manifests/${{ matrix.image }}.yaml - name: Prepare Docker config directory run: mkdir -p /root/.docker - name: Login to Container Registry uses: redhat-actions/podman-login@v1 if: github.ref == 'refs/heads/main' with: registry: git.plabble.org username: ${{ secrets.REGISTRY_USERNAME }} password: ${{ secrets.REGISTRY_TOKEN }} auth_file_path: /tmp/auth.json - name: Push OCI image to registry run: | if [[ -f ".buildid" ]]; then buildid="$(< .buildid)" else buildid="$(date '+%Y%m%d.0')" echo "${buildid}" > .buildid fi version="${{ matrix.version }}" image="${{ matrix.image }}" skopeo copy \ --authfile /tmp/auth.json \ oci:oci \ docker://git.plabble.org/misthios/${image}:${version}.${buildid} skopeo copy \ --authfile /tmp/auth.json \ docker://git.plabble.org/misthios/${image}:${version}.${buildid} \ docker://git.plabble.org/misthios/${image}:${version}