diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 00000000..4b28ca63 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,37 @@ +# Copyright (c) 2023, NVIDIA CORPORATION. +name: Release + +on: + push: + tags: + - 'v*' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-release + cancel-in-progress: true + +jobs: + pr-builder: + needs: + - checks + - build-and-test-wheels + secrets: inherit + uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-24.02 + checks: + secrets: inherit + uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.02 + with: + enable_check_generated_files: false + build-and-test-wheels: + uses: ./.github/workflows/build_and_test_wheels.yaml + wheel-publish-pynvjitlink: + needs: + - build-and-test-wheels + secrets: inherit + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-24.02 + with: + build_type: ${{ inputs.build_type || 'branch' }} + branch: ${{ inputs.branch }} + sha: ${{ inputs.sha }} + date: ${{ inputs.date }} + package-name: pynvjitlink-cu12 diff --git a/.github/workflows/build_and_test_wheels.yaml b/.github/workflows/build_and_test_wheels.yaml new file mode 100644 index 00000000..2d63b390 --- /dev/null +++ b/.github/workflows/build_and_test_wheels.yaml @@ -0,0 +1,94 @@ +# Copyright (c) 2023, NVIDIA CORPORATION. +on: + workflow_call: + +jobs: + build-and-test-wheels: + needs: + - wheel-build-amd64 + - wheel-build-arm64 + - wheel-test-amd64 + - wheel-test-arm64 + secrets: inherit + uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-24.02 + wheel-build-amd64: + runs-on: linux-amd64-cpu4 + strategy: + matrix: + python-version: ["3.9", "3.10"] + container: + image: "rapidsai/ci-wheel:cuda12.0.1-centos7-py${{ matrix.python-version }}" + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Run build_wheel.sh + run: ci/build_wheel.sh + - name: Upload Python Wheel + uses: actions/upload-artifact@v3 + with: + path: ./wheel-build + wheel-build-arm64: + runs-on: linux-arm64-cpu4 + strategy: + matrix: + python-version: ["3.9", "3.10"] + container: + image: "rapidsai/ci-wheel:cuda12.0.1-rockylinux8-py${{ matrix.python-version }}" + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Run build_wheel.sh + run: ci/build_wheel.sh + - name: Upload Python Wheel + uses: actions/upload-artifact@v3 + with: + path: ./wheel-build + wheel-test-amd64: + needs: + - wheel-build-amd64 + runs-on: linux-amd64-gpu-v100-latest-1 + strategy: + matrix: + python-version: ["3.9", "3.10"] + linux-version: ["ubuntu20.04", "ubuntu18.04"] + container: + image: "rapidsai/citestwheel:cuda12.0.1-${{ matrix.linux-version }}-py${{ matrix.python-version }}" + env: + NVIDIA_VISIBLE_DEVICES: ${{ env.NVIDIA_VISIBLE_DEVICES }} + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Download Python Wheel + uses: actions/download-artifact@v3 + with: + path: ./ + - name: Run test_wheel.sh + run: ci/test_wheel.sh + wheel-test-arm64: + needs: + - wheel-build-arm64 + runs-on: linux-arm64-gpu-a100-latest-1 + strategy: + matrix: + python-version: ["3.9", "3.10"] + container: + image: "rapidsai/citestwheel:cuda12.0.1-ubuntu20.04-py${{ matrix.python-version }}" + env: + NVIDIA_VISIBLE_DEVICES: ${{ env.NVIDIA_VISIBLE_DEVICES }} + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Download Python Wheel + uses: actions/download-artifact@v3 + with: + path: ./ + - name: Run test_wheel.sh + run: ci/test_wheel.sh diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 533fa9f8..b2709fd0 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -5,8 +5,6 @@ on: push: branches: - "pull-request/[0-9]+" - tags: - - 'v*' concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} @@ -16,122 +14,14 @@ jobs: pr-builder: needs: - checks - - wheel-build-amd64 - - wheel-build-arm64 - - wheel-test-amd64 - - wheel-test-arm64 + - build-and-test-wheels secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@branch-23.12 + uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-24.02 checks: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@branch-23.12 + uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.02 with: enable_check_generated_files: false enable_check_pr_job_dependencies: false - wheel-build-amd64: - runs-on: linux-amd64-cpu4 - strategy: - matrix: - python-version: ["3.9", "3.10"] - container: - image: "rapidsai/ci-wheel:cuda12.0.1-centos7-py${{ matrix.python-version }}" - steps: - - name: Checkout code - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Get PR Info - id: get-pr-info - uses: rapidsai/shared-actions/get-pr-info@main - - name: Run build_wheel.sh - run: ci/build_wheel.sh - - name: Upload Python Wheel - uses: actions/upload-artifact@v3 - with: - path: ./wheel-build - wheel-build-arm64: - runs-on: linux-arm64-cpu4 - strategy: - matrix: - python-version: ["3.9", "3.10"] - container: - image: "rapidsai/ci-wheel:cuda12.0.1-rockylinux8-py${{ matrix.python-version }}" - steps: - - name: Checkout code - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Get PR Info - id: get-pr-info - uses: rapidsai/shared-actions/get-pr-info@main - - name: Run build_wheel.sh - run: ci/build_wheel.sh - - name: Upload Python Wheel - uses: actions/upload-artifact@v3 - with: - path: ./wheel-build - wheel-test-amd64: - needs: - - wheel-build-amd64 - runs-on: linux-amd64-gpu-v100-latest-1 - strategy: - matrix: - python-version: ["3.9", "3.10"] - linux-version: ["ubuntu20.04", "ubuntu18.04"] - container: - image: "rapidsai/citestwheel:cuda12.0.1-${{ matrix.linux-version }}-py${{ matrix.python-version }}" - env: - NVIDIA_VISIBLE_DEVICES: ${{ env.NVIDIA_VISIBLE_DEVICES }} - steps: - - name: Checkout code - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Get PR Info - id: get-pr-info - uses: rapidsai/shared-actions/get-pr-info@main - - name: Download Python Wheel - uses: actions/download-artifact@v3 - with: - path: ./ - - name: Run test_wheel.sh - run: ci/test_wheel.sh - wheel-test-arm64: - needs: - - wheel-build-arm64 - runs-on: linux-arm64-gpu-a100-latest-1 - strategy: - matrix: - python-version: ["3.9", "3.10"] - container: - image: "rapidsai/citestwheel:cuda12.0.1-ubuntu20.04-py${{ matrix.python-version }}" - env: - NVIDIA_VISIBLE_DEVICES: ${{ env.NVIDIA_VISIBLE_DEVICES }} - steps: - - name: Checkout code - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Get PR Info - id: get-pr-info - uses: rapidsai/shared-actions/get-pr-info@main - - name: Download Python Wheel - uses: actions/download-artifact@v3 - with: - path: ./ - - name: run test_wheel.sh - run: ci/test_wheel.sh - wheel-publish-pynvjitlink: - needs: - - wheel-test-amd64 - - wheel-test-arm64 - # Only trigger this step for tags - if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') - secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-23.12 - with: - build_type: ${{ inputs.build_type || 'branch' }} - branch: ${{ inputs.branch }} - sha: ${{ inputs.sha }} - date: ${{ inputs.date }} - package-name: pynvjitlink + build-and-test-wheels: + uses: ./.github/workflows/build_and_test_wheels.yaml