e1102a8ba4
* Python implementation of run-ci.sh * Container workflow update - retry failed container build to combat network failures * cpack workflow update - retry failed base container build to combat network failures * General CI workflow updates - retry failed "Install packages" step to combat network failures * Miscellanous linting fixes * Formatting workflow update - improve regex for source formatting * format user.h * Add new omnitrace-avail tests * Make run-ci.py executable * workflow retry fix - timeout_seconds -> retry_wait_seconds * Fix cmake formatting glob * source formatting * Handle PRs in run-ci.py * Specify timeout_minutes in retry steps * Remove remaining --cmake-args from workflows * CI warnings about using MPICH headers * Remove text=True from run-ci.py - not capturing stdout/sterr so unnecessary * Fix OpenSUSE step label * Update omnitrace-avail-write-config tests - use TWD (Test Working Directory) instead of PWD since PWD might not be build directory * paths-ignore + workflow_dispatch
182 строки
5.0 KiB
YAML
182 строки
5.0 KiB
YAML
name: Continuous Integration Containers
|
|
run-name: ci-containers
|
|
|
|
# nightly build
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: 0 5 * * *
|
|
|
|
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"
|
|
|
|
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"
|
|
# ubuntu 20.04
|
|
- os-distro: "ubuntu"
|
|
os-version: "22.04"
|
|
rocm-version: "0.0"
|
|
- os-distro: "ubuntu"
|
|
os-version: "22.04"
|
|
rocm-version: "5.3"
|
|
# 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"
|
|
# 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"
|
|
|
|
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
|