Build all releases/images
diff --git a/.github/workflows/test-yoga.yml b/.github/workflows/test-yoga.yml
new file mode 100644
index 0000000..ed28762
--- /dev/null
+++ b/.github/workflows/test-yoga.yml
@@ -0,0 +1,380 @@
+name: test-yoga
+'on':
+  pull_request: {}
+  push:
+    branches:
+    - main
+jobs:
+  build-images:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v3.0.2
+    - uses: docker/setup-qemu-action@v2.0.0
+    - uses: docker/setup-buildx-action@v2.0.0
+    - uses: docker/login-action@v2.0.0
+      with:
+        registry: quay.io
+        username: ${{ secrets.QUAY_USERNAME }}
+        password: ${{ secrets.QUAY_ROBOT_TOKEN }}
+    - name: Build OpenStack Cinder
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=cinder
+
+          PROJECT_REF=9b583401adfd63d3d311bb9515f9a27b9b679a6f
+
+          PROFILES=ceph qemu
+
+          DIST_PACKAGES=
+
+          PIP_PACKAGES='
+        tags: quay.io/vexxhost/cinder:9b583401adfd63d3d311bb9515f9a27b9b679a6f
+    - name: Build OpenStack Heat
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=heat
+
+          PROJECT_REF=a406dff43d2f057674da9e564071e78c533006e0
+
+          PROFILES=
+
+          DIST_PACKAGES=curl
+
+          PIP_PACKAGES='
+        tags: quay.io/vexxhost/heat:a406dff43d2f057674da9e564071e78c533006e0
+    - name: Build OpenStack Senlin
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=senlin
+
+          PROJECT_REF=804056e856fb80bc881f6ef22eb57bc4adf7a287
+
+          PROFILES=
+
+          DIST_PACKAGES=
+
+          PIP_PACKAGES='
+        tags: quay.io/vexxhost/senlin:804056e856fb80bc881f6ef22eb57bc4adf7a287
+    - name: Build OpenStack Octavia
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=octavia
+
+          PROJECT_REF=9c30758dfbdc4d0dc5ff9a942ffece64e5cde325
+
+          PROFILES=
+
+          DIST_PACKAGES=
+
+          PIP_PACKAGES='
+        tags: quay.io/vexxhost/octavia:9c30758dfbdc4d0dc5ff9a942ffece64e5cde325
+    - name: Build OpenStack Barbican
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=barbican
+
+          PROJECT_REF=29e8fd054dbee79be2403e81fbe864aef8773ffe
+
+          PROFILES=
+
+          DIST_PACKAGES=
+
+          PIP_PACKAGES='
+        tags: quay.io/vexxhost/barbican:29e8fd054dbee79be2403e81fbe864aef8773ffe
+    - name: Build OpenStack Designate
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=designate
+
+          PROJECT_REF=2dc40a15894d2c2010b7176ff6f1dff0c8621503
+
+          PROFILES=
+
+          DIST_PACKAGES=bind9utils
+
+          PIP_PACKAGES='
+        tags: quay.io/vexxhost/designate:2dc40a15894d2c2010b7176ff6f1dff0c8621503
+    - name: Build OpenStack Nova
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64,linux/arm64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=nova
+
+          PROJECT_REF=6d61fccb8455367aaa37ae7bddf3b8befd3c3d88
+
+          PROFILES=ceph openvswitch configdrive qemu migration
+
+          DIST_PACKAGES=ovmf qemu-efi-aarch64
+
+          PIP_PACKAGES='
+        tags: quay.io/vexxhost/nova:6d61fccb8455367aaa37ae7bddf3b8befd3c3d88
+    - name: Build OpenStack Neutron
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64,linux/arm64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=neutron
+
+          PROJECT_REF=0836d57199a9fa337fe3bb9a5d2ad5e4cd814586
+
+          PROFILES=openvswitch vpn
+
+          DIST_PACKAGES=jq ethtool lshw
+
+          PIP_PACKAGES=neutron-vpnaas'
+        tags: quay.io/vexxhost/neutron:0836d57199a9fa337fe3bb9a5d2ad5e4cd814586
+    - name: Build OpenStack Monasca-Notification
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=monasca-notification
+
+          PROJECT_REF=50dac47ff801b784b9ad3cb701f6c9b04d0fa350
+
+          PROFILES=
+
+          DIST_PACKAGES=
+
+          PIP_PACKAGES='
+        tags: quay.io/vexxhost/monasca-notification:50dac47ff801b784b9ad3cb701f6c9b04d0fa350
+    - name: Build OpenStack Monasca-Agent
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=monasca-agent
+
+          PROJECT_REF=f0b09bec09883680390d61860f91dc4322a9f084
+
+          PROFILES=
+
+          DIST_PACKAGES=iproute2 libvirt-clients lshw
+
+          PIP_PACKAGES=libvirt-python python-glanceclient python-neutronclient python-novaclient
+          py3nvml'
+        tags: quay.io/vexxhost/monasca-agent:f0b09bec09883680390d61860f91dc4322a9f084
+    - name: Build OpenStack Keystone
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=keystone
+
+          PROJECT_REF=74be2e2465277aa93932fb9cabb3781451fcbe8a
+
+          PROFILES=apache ldap openidc
+
+          DIST_PACKAGES=
+
+          PIP_PACKAGES='
+        tags: quay.io/vexxhost/keystone:74be2e2465277aa93932fb9cabb3781451fcbe8a
+    - name: Build OpenStack Horizon
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=horizon
+
+          PROJECT_REF=a9ae00b16453b4d0ff1803651fe726da55a3f08d
+
+          PROFILES=apache
+
+          DIST_PACKAGES=
+
+          PIP_PACKAGES=designate-dashboard heat-dashboard ironic-ui magnum-ui neutron-vpnaas-dashboard
+          octavia-dashboard senlin-dashboard monasca-ui'
+        tags: quay.io/vexxhost/horizon:a9ae00b16453b4d0ff1803651fe726da55a3f08d
+    - name: Build OpenStack Monasca-Api
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=monasca-api
+
+          PROJECT_REF=0b7851cab47c8e7484e3ce669c5d485bd180c504
+
+          PROFILES=apache influxdb
+
+          DIST_PACKAGES=
+
+          PIP_PACKAGES='
+        tags: quay.io/vexxhost/monasca-api:0b7851cab47c8e7484e3ce669c5d485bd180c504
+    - name: Build OpenStack Ironic
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=ironic
+
+          PROJECT_REF=8034242c225f3293c08ca46dc588d00c5ad0e10a
+
+          PROFILES=ipxe ipmi qemu tftp
+
+          DIST_PACKAGES=ethtool lshw iproute2
+
+          PIP_PACKAGES=python-dracclient sushy'
+        tags: quay.io/vexxhost/ironic:8034242c225f3293c08ca46dc588d00c5ad0e10a
+    - name: Build OpenStack Glance
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=glance
+
+          PROJECT_REF=20110a7d0c310eac81635d1f8c60bce423418820
+
+          PROFILES=ceph
+
+          DIST_PACKAGES=
+
+          PIP_PACKAGES='
+        tags: quay.io/vexxhost/glance:20110a7d0c310eac81635d1f8c60bce423418820
+    - name: Build OpenStack Magnum
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=magnum
+
+          PROJECT_REF=2ae6cd95f18a1675ec6059e6434ee58a1868b07f
+
+          PROFILES=
+
+          DIST_PACKAGES=
+
+          PIP_PACKAGES='
+        tags: quay.io/vexxhost/magnum:2ae6cd95f18a1675ec6059e6434ee58a1868b07f
+    - name: Build OpenStack Monasca-Persister
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=monasca-persister
+
+          PROJECT_REF=21e6581b44f70bd2464921c389fd44dad10d460f
+
+          PROFILES=influxdb
+
+          DIST_PACKAGES=
+
+          PIP_PACKAGES='
+        tags: quay.io/vexxhost/monasca-persister:21e6581b44f70bd2464921c389fd44dad10d460f
+    - name: Build OpenStack Placement
+      uses: docker/build-push-action@v3.1.1
+      with:
+        context: images/openstack
+        cache-from: type=gha
+        cache-to: type=gha,mode=max
+        push: true
+        platforms: linux/amd64
+        build-args: 'RELEASE=yoga
+
+          PROJECT=placement
+
+          PROJECT_REF=4d3df47ee3e394e3178d58c15306620809ad2806
+
+          PROFILES=apache
+
+          DIST_PACKAGES=
+
+          PIP_PACKAGES=httplib2'
+        tags: quay.io/vexxhost/placement:4d3df47ee3e394e3178d58c15306620809ad2806