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