Skip to content

ci-containers

ci-containers #467

Workflow file for this run

name: Continuous Integration Containers
run-name: ci-containers
# nightly build
on:
workflow_dispatch:
schedule:
- cron: 0 5 * * *
push:
branches: [main]
paths:
- '.github/workflows/containers.yml'
- 'docker/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
jobs:
omnitrace-ci:
if: github.repository == 'AMDResearch/omnitrace'
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
include:
- distro: "ubuntu"
version: "18.04"
- distro: "ubuntu"
version: "20.04"
- distro: "ubuntu"
version: "22.04"
- distro: "opensuse"
version: "15.2"
- distro: "opensuse"
version: "15.3"
- distro: "opensuse"
version: "15.4"
- distro: "rhel"
version: "8.7"
- distro: "rhel"
version: "9.0"
- distro: "rhel"
version: "9.1"
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build CI Container
timeout-minutes: 45
uses: nick-fields/retry@v2
with:
retry_wait_seconds: 60
timeout_minutes: 45
max_attempts: 3
command: |
pushd docker
./build-docker-ci.sh --distro ${{ matrix.distro }} --versions ${{ matrix.version }} --user ${{ secrets.DOCKERHUB_USERNAME }} --push --jobs 2 --elfutils-version 0.186 --boost-version 1.79.0
popd
omnitrace-release:
if: github.repository == 'AMDResearch/omnitrace'
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
include:
# ubuntu 18.04
- os-distro: "ubuntu"
os-version: "18.04"
rocm-version: "0.0"
- os-distro: "ubuntu"
os-version: "18.04"
rocm-version: "4.5"
- os-distro: "ubuntu"
os-version: "18.04"
rocm-version: "5.0"
- os-distro: "ubuntu"
os-version: "18.04"
rocm-version: "5.1"
- os-distro: "ubuntu"
os-version: "18.04"
rocm-version: "5.2"
# ubuntu 20.04
- os-distro: "ubuntu"
os-version: "20.04"
rocm-version: "0.0"
- os-distro: "ubuntu"
os-version: "20.04"
rocm-version: "4.5"
- os-distro: "ubuntu"
os-version: "20.04"
rocm-version: "5.0"
- os-distro: "ubuntu"
os-version: "20.04"
rocm-version: "5.1"
- os-distro: "ubuntu"
os-version: "20.04"
rocm-version: "5.2"
- os-distro: "ubuntu"
os-version: "20.04"
rocm-version: "5.3"
- os-distro: "ubuntu"
os-version: "20.04"
rocm-version: "5.4"
- os-distro: "ubuntu"
os-version: "20.04"
rocm-version: "5.5"
- os-distro: "ubuntu"
os-version: "20.04"
rocm-version: "5.6"
# ubuntu 22.04
- os-distro: "ubuntu"
os-version: "22.04"
rocm-version: "0.0"
- os-distro: "ubuntu"
os-version: "22.04"
rocm-version: "5.3"
- os-distro: "ubuntu"
os-version: "22.04"
rocm-version: "5.4"
- os-distro: "ubuntu"
os-version: "22.04"
rocm-version: "5.5"
- os-distro: "ubuntu"
os-version: "22.04"
rocm-version: "5.6"
# opensuse 15.3
- os-distro: "opensuse"
os-version: "15.3"
rocm-version: "0.0"
- os-distro: "opensuse"
os-version: "15.3"
rocm-version: "4.5"
- os-distro: "opensuse"
os-version: "15.3"
rocm-version: "5.0"
- os-distro: "opensuse"
os-version: "15.3"
rocm-version: "5.1"
- os-distro: "opensuse"
os-version: "15.3"
rocm-version: "5.2"
- os-distro: "opensuse"
os-version: "15.3"
rocm-version: "5.3"
- os-distro: "opensuse"
os-version: "15.3"
rocm-version: "5.4"
- os-distro: "opensuse"
os-version: "15.3"
rocm-version: "5.5"
# opensuse 15.4
- os-distro: "opensuse"
os-version: "15.4"
rocm-version: "0.0"
- os-distro: "opensuse"
os-version: "15.4"
rocm-version: "5.0"
- os-distro: "opensuse"
os-version: "15.4"
rocm-version: "5.1"
- os-distro: "opensuse"
os-version: "15.4"
rocm-version: "5.2"
- os-distro: "opensuse"
os-version: "15.4"
rocm-version: "5.3"
- os-distro: "opensuse"
os-version: "15.4"
rocm-version: "5.4"
- os-distro: "opensuse"
os-version: "15.4"
rocm-version: "5.5"
- os-distro: "opensuse"
os-version: "15.4"
rocm-version: "5.6"
# RHEL 8.7
- os-distro: "rhel"
os-version: "8.7"
rocm-version: "0.0"
- os-distro: "rhel"
os-version: "8.7"
rocm-version: "5.3"
- os-distro: "rhel"
os-version: "8.7"
rocm-version: "5.4"
- os-distro: "rhel"
os-version: "8.7"
rocm-version: "5.5"
- os-distro: "rhel"
os-version: "8.7"
rocm-version: "5.6"
# RHEL 9.0
- os-distro: "rhel"
os-version: "9.0"
rocm-version: "0.0"
- os-distro: "rhel"
os-version: "9.0"
rocm-version: "5.3"
- os-distro: "rhel"
os-version: "9.0"
rocm-version: "5.4"
- os-distro: "rhel"
os-version: "9.0"
rocm-version: "5.5"
# RHEL 9.1
- os-distro: "rhel"
os-version: "9.1"
rocm-version: "0.0"
- os-distro: "rhel"
os-version: "9.1"
rocm-version: "5.3"
- os-distro: "rhel"
os-version: "9.1"
rocm-version: "5.4"
- os-distro: "rhel"
os-version: "9.1"
rocm-version: "5.5"
- os-distro: "rhel"
os-version: "9.1"
rocm-version: "5.6"
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build Base Container
timeout-minutes: 45
uses: nick-fields/retry@v2
with:
retry_wait_seconds: 60
timeout_minutes: 45
max_attempts: 3
command: |
pushd docker
./build-docker.sh --distro ${{ matrix.os-distro }} --versions ${{ matrix.os-version }} --rocm-versions ${{ matrix.rocm-version }} --user ${{ secrets.DOCKERHUB_USERNAME }} --push
popd