diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index d1e8a82..09b176f 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -5,7 +5,7 @@ on: branches: - "branch-*" tags: - - v[0-9][0-9].[0-9][0-9].[0-9][0-9] + - v[0-9]+.[0-9]+.[0-9]+a workflow_dispatch: inputs: branch: @@ -25,53 +25,12 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} cancel-in-progress: true -defaults: - run: - shell: bash - -permissions: - actions: read - checks: none - contents: read - deployments: none - discussions: none - id-token: write - issues: none - packages: read - pages: none - pull-requests: read - repository-projects: none - security-events: none - statuses: none - jobs: python-build: - runs-on: "linux-amd64-cpu8" - container: - image: rapidsai/ci-conda:latest - env: - RAPIDS_BUILD_TYPE: ${{ inputs.build_type || 'branch' }} - PARALLEL_LEVEL: ${{ env.PARALLEL_LEVEL }} - steps: - - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ vars.AWS_ROLE_ARN }} - aws-region: ${{ vars.AWS_REGION }} - role-duration-seconds: 43200 # 12h - - uses: actions/checkout@v3 - with: - ref: ${{ inputs.sha }} - fetch-depth: 0 - - name: Standardize repository information - run: | - echo "RAPIDS_REPOSITORY=${{ github.repository }}" >> "${GITHUB_ENV}" - echo "RAPIDS_SHA=$(git rev-parse HEAD)" >> "${GITHUB_ENV}" - echo "RAPIDS_REF_NAME=${{ inputs.branch || github.ref_name }}" >> "${GITHUB_ENV}" - echo "RAPIDS_NIGHTLY_DATE=${{ inputs.date }}" >> "${GITHUB_ENV}" - - name: Python build - run: ci/build_python.sh - env: - GH_TOKEN: ${{ github.token }} + secrets: inherit + uses: ./.github/workflows/conda-build.yaml + with: + build_type: ${{ inputs.build_type || 'branch' }} upload-conda: needs: [python-build] secrets: inherit @@ -82,32 +41,10 @@ jobs: date: ${{ inputs.date }} sha: ${{ inputs.sha }} wheel-build: - runs-on: "linux-amd64-cpu8" - container: - image: rapidsai/ci-wheel:latest - env: - RAPIDS_BUILD_TYPE: ${{ inputs.build_type || 'branch' }} - PARALLEL_LEVEL: ${{ env.PARALLEL_LEVEL }} - steps: - - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ vars.AWS_ROLE_ARN }} - aws-region: ${{ vars.AWS_REGION }} - role-duration-seconds: 43200 # 12h - - uses: actions/checkout@v3 - with: - ref: ${{ inputs.sha }} - fetch-depth: 0 - - name: Standardize repository information - run: | - echo "RAPIDS_REPOSITORY=${{ github.repository }}" >> "${GITHUB_ENV}" - echo "RAPIDS_SHA=$(git rev-parse HEAD)" >> "${GITHUB_ENV}" - echo "RAPIDS_REF_NAME=${{ inputs.branch || github.ref_name }}" >> "${GITHUB_ENV}" - echo "RAPIDS_NIGHTLY_DATE=${{ inputs.date }}" >> "${GITHUB_ENV}" - - name: Python build - run: ci/build_wheel.sh - env: - GH_TOKEN: ${{ github.token }} + secrets: inherit + uses: ./.github/workflows/wheel-build.yaml + with: + build_type: ${{ inputs.build_type || 'branch' }} wheel-publish: needs: wheel-build secrets: inherit diff --git a/.github/workflows/conda-build.yaml b/.github/workflows/conda-build.yaml new file mode 100644 index 0000000..137f4d9 --- /dev/null +++ b/.github/workflows/conda-build.yaml @@ -0,0 +1,54 @@ +on: + workflow_call: + inputs: + build_type: + required: true + type: string + +defaults: + run: + shell: bash + +permissions: + actions: read + checks: none + contents: read + deployments: none + discussions: none + id-token: write + issues: none + packages: read + pages: none + pull-requests: read + repository-projects: none + security-events: none + statuses: none + +jobs: + build: + runs-on: 'linux-amd64-cpu8' + container: + image: rapidsai/ci-conda:latest + env: + RAPIDS_BUILD_TYPE: ${{ inputs.build_type }} + PARALLEL_LEVEL: ${{ env.PARALLEL_LEVEL }} + steps: + - uses: aws-actions/configure-aws-credentials@v3 + with: + role-to-assume: ${{ vars.AWS_ROLE_ARN }} + aws-region: ${{ vars.AWS_REGION }} + role-duration-seconds: 1200 # 20 minutes + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Standardize repository information + uses: rapidsai/shared-actions/rapids-github-info@main + with: + repo: ${{ inputs.repo }} + branch: ${{ inputs.branch }} + date: ${{ inputs.date }} + sha: ${{ inputs.sha }} + - name: Python build + run: ci/build_python.sh + env: + GH_TOKEN: ${{ github.token }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 1632e33..91a9032 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -3,7 +3,7 @@ name: pr on: push: branches: - - "pull-request/[0-9]+" + - 'pull-request/[0-9]+' concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -42,35 +42,13 @@ jobs: secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.02 conda-python-build: - needs: checks - runs-on: "linux-amd64-cpu8" - container: - image: rapidsai/ci-conda:latest - env: - RAPIDS_BUILD_TYPE: pull-request - PARALLEL_LEVEL: ${{ env.PARALLEL_LEVEL }} - steps: - - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ vars.AWS_ROLE_ARN }} - aws-region: ${{ vars.AWS_REGION }} - role-duration-seconds: 43200 # 12h - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Standardize repository information - run: | - echo "RAPIDS_REPOSITORY=${{ github.repository }}" >> "${GITHUB_ENV}" - echo "RAPIDS_SHA=$(git rev-parse HEAD)" >> "${GITHUB_ENV}" - echo "RAPIDS_REF_NAME=${{ github.ref_name }}" >> "${GITHUB_ENV}" - echo "RAPIDS_NIGHTLY_DATE=" >> "${GITHUB_ENV}" - - name: Python build - run: ci/build_python.sh - env: - GH_TOKEN: ${{ github.token }} + secrets: inherit + uses: ./.github/workflows/conda-build.yaml + with: + build_type: pull-request conda-python-tests: needs: conda-python-build - runs-on: "linux-amd64-gpu-v100-latest-1" + runs-on: 'linux-amd64-gpu-v100-latest-1' container: image: rapidsai/ci-conda:latest env: @@ -82,50 +60,29 @@ jobs: with: role-to-assume: ${{ vars.AWS_ROLE_ARN }} aws-region: ${{ vars.AWS_REGION }} - role-duration-seconds: 43200 # 12h - - uses: actions/checkout@v3 + role-duration-seconds: 1200 # 20 minutes + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Standardize repository information - run: | - echo "RAPIDS_REPOSITORY=${{ github.repository }}" >> "${GITHUB_ENV}" - echo "RAPIDS_SHA=$(git rev-parse HEAD)" >> "${GITHUB_ENV}" - echo "RAPIDS_REF_NAME=${{ github.ref_name }}" >> "${GITHUB_ENV}" - echo "RAPIDS_NIGHTLY_DATE=" >> "${GITHUB_ENV}" + uses: rapidsai/shared-actions/rapids-github-info@main + with: + repo: ${{ inputs.repo }} + branch: ${{ inputs.branch }} + date: ${{ inputs.date }} + sha: ${{ inputs.sha }} - name: Python tests run: ci/test_python.sh env: GH_TOKEN: ${{ github.token }} wheel-build: - needs: checks - runs-on: "linux-amd64-cpu8" - container: - image: rapidsai/ci-wheel:latest - env: - RAPIDS_BUILD_TYPE: pull-request - PARALLEL_LEVEL: ${{ env.PARALLEL_LEVEL }} - steps: - - uses: aws-actions/configure-aws-credentials@v3 - with: - role-to-assume: ${{ vars.AWS_ROLE_ARN }} - aws-region: ${{ vars.AWS_REGION }} - role-duration-seconds: 43200 # 12h - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Standardize repository information - run: | - echo "RAPIDS_REPOSITORY=${{ github.repository }}" >> "${GITHUB_ENV}" - echo "RAPIDS_SHA=$(git rev-parse HEAD)" >> "${GITHUB_ENV}" - echo "RAPIDS_REF_NAME=${{ github.ref_name }}" >> "${GITHUB_ENV}" - echo "RAPIDS_NIGHTLY_DATE=" >> "${GITHUB_ENV}" - - name: Python build - run: ci/build_wheel.sh - env: - GH_TOKEN: ${{ github.token }} + secrets: inherit + uses: ./.github/workflows/wheel-build.yaml + with: + build_type: pull-request wheel-tests: needs: wheel-build - runs-on: "linux-amd64-gpu-v100-latest-1" + runs-on: 'linux-amd64-gpu-v100-latest-1' container: image: rapidsai/ci-wheel:latest env: @@ -137,16 +94,17 @@ jobs: with: role-to-assume: ${{ vars.AWS_ROLE_ARN }} aws-region: ${{ vars.AWS_REGION }} - role-duration-seconds: 43200 # 12h - - uses: actions/checkout@v3 + role-duration-seconds: 1200 # 20 minutes + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Standardize repository information - run: | - echo "RAPIDS_REPOSITORY=${{ github.repository }}" >> "${GITHUB_ENV}" - echo "RAPIDS_SHA=$(git rev-parse HEAD)" >> "${GITHUB_ENV}" - echo "RAPIDS_REF_NAME=${{ github.ref_name }}" >> "${GITHUB_ENV}" - echo "RAPIDS_NIGHTLY_DATE=" >> "${GITHUB_ENV}" + uses: rapidsai/shared-actions/rapids-github-info@main + with: + repo: ${{ inputs.repo }} + branch: ${{ inputs.branch }} + date: ${{ inputs.date }} + sha: ${{ inputs.sha }} - name: Python tests run: ci/test_wheel.sh env: diff --git a/.github/workflows/wheel-build.yaml b/.github/workflows/wheel-build.yaml new file mode 100644 index 0000000..f4131b4 --- /dev/null +++ b/.github/workflows/wheel-build.yaml @@ -0,0 +1,54 @@ +on: + workflow_call: + inputs: + build_type: + required: true + type: string + +defaults: + run: + shell: bash + +permissions: + actions: read + checks: none + contents: read + deployments: none + discussions: none + id-token: write + issues: none + packages: read + pages: none + pull-requests: read + repository-projects: none + security-events: none + statuses: none + +jobs: + build: + runs-on: 'linux-amd64-cpu8' + container: + image: rapidsai/ci-wheel:latest + env: + RAPIDS_BUILD_TYPE: ${{ inputs.build_type }} + PARALLEL_LEVEL: ${{ env.PARALLEL_LEVEL }} + steps: + - uses: aws-actions/configure-aws-credentials@v3 + with: + role-to-assume: ${{ vars.AWS_ROLE_ARN }} + aws-region: ${{ vars.AWS_REGION }} + role-duration-seconds: 1200 # 20 minutes + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Standardize repository information + uses: rapidsai/shared-actions/rapids-github-info@main + with: + repo: ${{ inputs.repo }} + branch: ${{ inputs.branch }} + date: ${{ inputs.date }} + sha: ${{ inputs.sha }} + - name: Python build + run: ci/build_wheel.sh + env: + GH_TOKEN: ${{ github.token }}