Skip to content

Add installation test CICD and pin ubuntu image #153

Add installation test CICD and pin ubuntu image

Add installation test CICD and pin ubuntu image #153

Workflow file for this run

on:
push:
tags:
- "v*.*.*"
branches:
- main
pull_request: {}
workflow_dispatch: {}
jobs:
generate-matrix:
name: Generate build matrix
runs-on: ubuntu-22.04
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- id: set-matrix
run: echo "::set-output name=matrix::$(./.github/workflows/generate-image-build-matrix images/*)"
build-and-push-arena-images:
needs: [generate-matrix]
runs-on: ubuntu-22.04
if: ${{ needs.generate-matrix.outputs.matrix != '[]' }}
strategy:
fail-fast: true
matrix:
include: ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Login to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
registry: docker.io
username: diambrabot
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to Quay
uses: docker/login-action@v2
with:
registry: quay.io
username: diambra+github
password: ${{ secrets.QUAY_TOKEN }}
- name: Build and push arena ${{ matrix.dir }}
uses: docker/build-push-action@v3
with:
context: .
file: ${{ matrix.dir }}/Dockerfile
push: true
tags: |
ghcr.io/diambra/arena-${{ matrix.name }}:${{ github.sha }}
ghcr.io/diambra/arena-${{ matrix.name }}:${{ github.head_ref || github.ref_name }}
${{ github.ref_name == 'main' && format('ghcr.io/diambra/arena-{0}:latest', matrix.name) || '' }}
docker.io/diambra/arena-${{ matrix.name }}:${{ github.sha }}
docker.io/diambra/arena-${{ matrix.name }}:${{ github.head_ref || github.ref_name }}
${{ github.ref_name == 'main' && format('docker.io/diambra/arena-{0}:latest', matrix.name) || '' }}
quay.io/diambra/arena-${{ matrix.name }}:${{ github.sha }}
quay.io/diambra/arena-${{ matrix.name }}:${{ github.head_ref || github.ref_name }}
${{ github.ref_name == 'main' && format('quay.io/diambra/arena-{0}:latest', matrix.name) || '' }}
build-args: ${{ matrix.build_args }}
build-and-push-agents-images:
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
needs: [build-and-push-arena-images]
runs-on: ubuntu-22.04
steps:
- name: Build and Push Agents Images
run: |
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.DIAMBRA_AGENTS_GHCR_TOKEN_ALEXPALMS }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/diambra/agents/actions/workflows/default.yaml/dispatches \
-d '{"ref":"main","inputs":{}}'