Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
ffe2177
set Legion_CUDA_ARCH instead of CMAKE_CUDA_ARCHITECTURES
trxcllnt May 12, 2023
ca1233b
define options to enable building tests and examples
trxcllnt May 12, 2023
20bc692
remove the custom linker script
trxcllnt May 12, 2023
b251da6
update to Legion branch that uses CMake's native CUDA language
trxcllnt May 12, 2023
5453fb2
Merge branch 'branch-23.07' of github.com:nv-legate/legate.core into …
trxcllnt May 30, 2023
be8404f
set -DLegion_CUDA_ARCH=all-major in build-legate-cpp
trxcllnt May 30, 2023
15514db
* upload /tmp/conda-build dir
trxcllnt Jun 2, 2023
bd39231
switch image back
trxcllnt Jun 2, 2023
47f2794
bump legion commit sha
trxcllnt Jun 7, 2023
d8a9a22
Merge branch 'branch-23.07' of github.com:nv-legate/legate.core into …
trxcllnt Jun 7, 2023
c59f7c5
update legion commit sha
trxcllnt Jun 24, 2023
15cf543
Merge branch 'branch-23.07' of github.com:nv-legate/legate.core into …
trxcllnt Jun 24, 2023
a9cd5c4
fix path to type_traits.h
trxcllnt Jun 24, 2023
06848de
install libssl-dev for rust
trxcllnt Jun 24, 2023
c05a245
set OPENSSL_DIR to CONDA_PREFIX
trxcllnt Jun 24, 2023
02091c1
set OPENSSL_DIR to CONDA_PREFIX in install.py
trxcllnt Jun 24, 2023
e95d45f
use mamba to install legate-core
trxcllnt Jun 24, 2023
2aebec1
set openssldir during conda build
trxcllnt Jun 24, 2023
d6babb8
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 24, 2023
a812676
run commands as non-root user
trxcllnt Jun 24, 2023
1dc4e86
Merge branch 'fea/legion-with-cmake-cuda-language' of github.com:trxc…
trxcllnt Jun 24, 2023
0211d90
ignore pull-request/* branches in docs and build jobs
trxcllnt Jun 25, 2023
4a346c3
Merge branch 'branch-23.07' of github.com:nv-legate/legate.core into …
trxcllnt Jun 26, 2023
86879d4
overwrite conda_build_config.yaml
trxcllnt Jun 27, 2023
bd3b4c4
Merge branch 'branch-23.07' of github.com:nv-legate/legate.core into …
trxcllnt Jun 27, 2023
49d55ac
add cmake_version
trxcllnt Jun 27, 2023
9cea0a3
define and unpin numpy_version
trxcllnt Jun 27, 2023
1b81596
remove --numpy arg
trxcllnt Jun 27, 2023
8f55d52
ensure dirs exist and are clean
trxcllnt Jun 28, 2023
6c6ce71
save conda build output to /tmp/out/legate_core
trxcllnt Jun 28, 2023
94f79ff
unpin numpy in run requirements
trxcllnt Jun 28, 2023
78edac3
pin cuda-version package
trxcllnt Jun 28, 2023
0fd2a07
change channel order
trxcllnt Jun 28, 2023
53fd320
remove numpy_version pin
trxcllnt Jun 28, 2023
310c9bb
fix artifacts path after removing dir
trxcllnt Jun 28, 2023
9eae6e6
pin numpy to <1.25
trxcllnt Jun 28, 2023
d89c795
Merge branch 'branch-23.07' of github.com:nv-legate/legate.core into …
trxcllnt Jun 28, 2023
b16d01d
Merge branch 'branch-23.07' of github.com:nv-legate/legate.core into …
trxcllnt Jul 5, 2023
df0e32b
bump legion commit hash
trxcllnt Jul 5, 2023
242c326
bump legion commit hash
trxcllnt Jul 6, 2023
2333bbd
bump legion commit hash and switch back to StanfordLegion fork
trxcllnt Jul 6, 2023
53a97ae
bump legion commit hash
trxcllnt Jul 10, 2023
5b31bc8
support passing Legion_PYTHON_EXTRA_INSTALL_ARGS with comma and semic…
trxcllnt Jul 10, 2023
b65eb44
remove custom entrypoint script
trxcllnt Jul 10, 2023
901d971
rename pip wheel to `legate-core` to align with conda package
trxcllnt Jul 10, 2023
ffbdc78
fix cython install rpaths for both editable and regular install modes
trxcllnt Jul 10, 2023
173d099
support the `pip install --user` flag
trxcllnt Jul 10, 2023
f07ce36
run the build commands via mamba run
trxcllnt Jul 10, 2023
9a47baf
pass `-DLegion_Python_VERSION` to CMake
trxcllnt Jul 10, 2023
bf0e414
add scripts to launch conda and pip based containers for replicating …
trxcllnt Jul 10, 2023
7a6741e
update legate_core wheel name
trxcllnt Jul 10, 2023
01d22bc
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 10, 2023
900b4c4
add -y flag
trxcllnt Jul 10, 2023
5aeb1be
remove custom .gitconfig
trxcllnt Jul 10, 2023
c46a73c
restrict gcc version to 11.*
trxcllnt Jul 11, 2023
8295c42
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 11, 2023
d1d3b13
Merge branch 'branch-23.07' of github.com:nv-legate/legate.core into …
trxcllnt Jul 11, 2023
0def7f8
bump legion commit sha
trxcllnt Jul 11, 2023
dd719be
Merge branch 'branch-23.09' of github.com:nv-legate/legate.core into …
trxcllnt Jul 25, 2023
ffcfc9c
fix typo
trxcllnt Jul 25, 2023
712001a
print if image build has secrets
trxcllnt Jul 25, 2023
bb106b4
show sccache stats
trxcllnt Jul 25, 2023
3cfc266
start sccache in the foreground for debugging
trxcllnt Jul 25, 2023
0c11930
don't redefine sccache_region
trxcllnt Jul 25, 2023
d319801
define SCCACHE_S3_USE_SSL=true
trxcllnt Jul 25, 2023
898d772
dockerignore is not the same as gitignore
trxcllnt Jul 25, 2023
75bd4ea
mount .aws dir from build context
trxcllnt Jul 25, 2023
e156cd5
add AWS_DEFAULT_REGION, remove .aws mount
trxcllnt Jul 25, 2023
8bb3a9a
ensure new creds have propagated
trxcllnt Jul 25, 2023
ad27fa1
exit if credentials don't propagate
trxcllnt Jul 25, 2023
ec4c373
print debugging info
trxcllnt Jul 25, 2023
17e87eb
export envvars
trxcllnt Jul 25, 2023
db3e743
export each secret individually
trxcllnt Jul 25, 2023
0f45217
fix bad merge
trxcllnt Jul 25, 2023
778ba8a
fix copy artifacts step
trxcllnt Jul 25, 2023
263bb62
remove debugging code
trxcllnt Jul 25, 2023
1c1fc06
install mypy
trxcllnt Jul 25, 2023
018a200
fix copy artifacts step again
trxcllnt Jul 25, 2023
dffc8e2
exclude legate/jupyter from mypy type checking
trxcllnt Jul 25, 2023
a052392
bump legion commit hash
trxcllnt Jul 28, 2023
e4c231c
Merge branch 'branch-23.09' of github.com:nv-legate/legate.core into …
trxcllnt Jul 28, 2023
68c7c19
Merge branch 'branch-23.09' of github.com:nv-legate/legate.core into …
trxcllnt Jul 31, 2023
426a1ee
copy legate to /tmp before running git commands in preparation for co…
trxcllnt Jul 31, 2023
0617ed4
bump legion commit hash
trxcllnt Aug 2, 2023
0d34026
Merge branch 'branch-23.09' of github.com:nv-legate/legate.core into …
trxcllnt Aug 11, 2023
8ebfa83
bump legion hash
trxcllnt Aug 11, 2023
2872f9c
Merge branch 'branch-23.09' of github.com:nv-legate/legate.core into …
trxcllnt Aug 11, 2023
878fde0
fix workflow env
trxcllnt Aug 11, 2023
fe26874
don't error on undefined envvars
trxcllnt Aug 11, 2023
e776929
update build-all build-legate-all
trxcllnt Aug 11, 2023
af7713b
add MODIFY_PREFIX_PATH argument back
trxcllnt Aug 16, 2023
8f58627
support generating envs for CUDA 12.0, add nvcc
trxcllnt Aug 16, 2023
ae9a276
add conda-utils and entrypoint back in for cunumeric CI
trxcllnt Aug 17, 2023
defe9e6
reusable workflows should inherit secrets
trxcllnt Aug 18, 2023
7d2344f
update devcontainer versions
trxcllnt Aug 18, 2023
4ae79b3
don't store git credentials
trxcllnt Aug 18, 2023
858856a
add elfutils and libdwarf to conda host and run sections
trxcllnt Aug 21, 2023
c89552e
bump legion hash
trxcllnt Aug 29, 2023
c7cf17f
Merge branch 'branch-23.09' of github.com:nv-legate/legate.core into …
trxcllnt Aug 29, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .dockerignore

This file was deleted.

44 changes: 44 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
*~
\#*#
*/typestubs/*
.#*
.DS_Store
*.a
*.d
*.o
*.so
*.gz
*.gcno
*.gcda
*.gcov
*.fluid
*.pyc
*.swp
*.log
*.bbl
*.blg
*.aux
*.json
*.dylib
install_info.py
/dist
/build
/legion
/install*
/_skbuild
config.mk
/docs/legate/core/build
/docs/legate/core/source/api/generated
*.egg-info
.creds
.cache
.coverage
.vscode
_cmake_test_compile
!cmake/versions.json
legate.core.code-workspace
*.prof
.legate-test-last-failed
out/
.github/
continuous_integration/Dockerfile
24 changes: 16 additions & 8 deletions .github/workflows/ci-gh-cpu-build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,22 @@ concurrency:
cancel-in-progress: true

on:
pull_request:
push:
branches:
- "pull-request/[0-9]+"
- "branch-*"

jobs:
filter-by-triggering-event:
name: Filter by triggering event
uses: ./.github/workflows/filter-by-triggering-event.yml

build-cpu:
uses:
./.github/workflows/gh-build.yml
needs: filter-by-triggering-event
if: needs.filter-by-triggering-event.outputs.ok == 'true'
secrets: inherit
uses: ./.github/workflows/gh-build.yml
with:
build-target: cpu
# Ref: https://docs.rapids.ai/resources/github-actions/#cpu-labels for `linux-amd64-cpu4`
Expand All @@ -27,15 +34,16 @@ jobs:
fail-fast: false
matrix:
include:
- { name: Pytest Unit Tests, test-scope: unit }
- { name: mypy, test-scope: mypy }
- { name: pytest, test-scope: test }
- { name: mypy, test-scope: type-check }
name: ${{ matrix.name }}
uses:
./.github/workflows/gh-test.yml
secrets: inherit
uses: ./.github/workflows/gh-test.yml
with:
build-target: cpu
runs-on: ${{ github.repository == 'nv-legate/legate.core' && 'linux-amd64-cpu4' || 'ubuntu-latest' }}
sha: ${{ github.sha }}
test-name: ${{ matrix.name }}
test-scope: ${{ matrix.test-scope }}

cleanup:
Expand All @@ -44,8 +52,8 @@ jobs:
- test-cpu
# This ensures the cleanup job runs even if previous jobs fail or the workflow is cancelled.
if: always()
uses:
./.github/workflows/gh-cleanup.yml
secrets: inherit
uses: ./.github/workflows/gh-cleanup.yml
with:
build-target: cpu
sha: ${{ github.sha }}
9 changes: 5 additions & 4 deletions .github/workflows/ci-gh-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches-ignore:
- gh-pages # deployment target branch (this workflow should not exist on that branch anyway)
- "pull-request/[0-9]+"
pull_request:
branches-ignore:
- gh-pages # deployment target branch (this workflow should not exist on that branch anyway)
Expand Down Expand Up @@ -44,14 +45,14 @@ jobs:
env:
MATRIX_CONTEXT: ${{ toJSON(matrix) }}
run: echo "$MATRIX_CONTEXT"

####################################
# Actual build process starts here #
####################################

- name: Checkout
uses: actions/checkout@v3

- name: Generate YAML file listing dependencies
run: scripts/generate-conda-envs.py --python 3.10 --ctk 11.8 --os linux --compilers --openmpi

Expand All @@ -61,7 +62,7 @@ jobs:
- name: Build doxygen documentation through install.py
run: |
conda run -n legate /bin/bash -c "./install.py --docs"

- name: Build documentation using Makefile
working-directory: ./docs/legate/core
run: |
Expand Down
27 changes: 18 additions & 9 deletions .github/workflows/ci-gh-gpu-build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,38 +5,47 @@ concurrency:
cancel-in-progress: true

on:
pull_request:
push:
branches:
- "pull-request/[0-9]+"
- "branch-*"

jobs:
filter-by-triggering-event:
name: Filter by triggering event
uses: ./.github/workflows/filter-by-triggering-event.yml

build-gpu:
uses:
./.github/workflows/gh-build.yml
needs: filter-by-triggering-event
if: needs.filter-by-triggering-event.outputs.ok == 'true'
secrets: inherit
uses: ./.github/workflows/gh-build.yml
with:
build-target: gpu
# Ref: https://docs.rapids.ai/resources/github-actions/#cpu-labels for `linux-amd64-cpu4`
runs-on: ${{ github.repository == 'nv-legate/legate.core' && 'linux-amd64-cpu4' || 'ubuntu-latest' }}
sha: ${{ github.sha }}

test-gpu:
if: github.repository == 'nv-legate/legate.core'
needs:
- build-gpu
strategy:
fail-fast: false
matrix:
include:
- { name: Pytest Unit Tests, test-scope: unit, runner: linux-amd64-gpu-v100-latest-1 }
- { name: Pytest Unit Tests, test-scope: unit, runner: linux-amd64-2gpu }
- { name: mypy, test-scope: mypy, runner: 'linux-amd64-gpu-v100-latest-1' }
- { name: pytest, test-scope: test, runner: linux-amd64-gpu-v100-latest-1 }
- { name: pytest, test-scope: test, runner: linux-amd64-2gpu }
- { name: mypy, test-scope: type-check, runner: linux-amd64-gpu-v100-latest-1 }
name: ${{ matrix.name }}
uses:
./.github/workflows/gh-test.yml
secrets: inherit
uses: ./.github/workflows/gh-test.yml
with:
build-target: gpu
runs-on: ${{ matrix.runner }}
sha: ${{ github.sha }}
test-name: ${{ matrix.name }}
test-scope: ${{ matrix.test-scope }}

cleanup:
Expand All @@ -45,8 +54,8 @@ jobs:
- test-gpu
# This ensures the cleanup job runs even if previous jobs fail or the workflow is cancelled.
if: always()
uses:
./.github/workflows/gh-cleanup.yml
secrets: inherit
uses: ./.github/workflows/gh-cleanup.yml
with:
build-target: gpu
sha: ${{ github.sha }}
30 changes: 30 additions & 0 deletions .github/workflows/filter-by-triggering-event.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Filter by triggering event

on:
workflow_call:
outputs:
ok:
value: ${{ jobs.filter-by-triggering-event.outputs.ok }}

jobs:
filter-by-triggering-event:
name: Filter by triggering event
runs-on: ubuntu-latest
outputs:
ok: ${{ steps.filter-by-triggering-event.outputs.ok }}
steps:
- id: filter-by-triggering-event
name: Filter by triggering event
shell: bash
run: |
###
# 1. If `event_name == 'push'` and the repo is the official nv-legate repo.
# 2. If `event_name == 'pull_request'` and teh repo is a fork of the official nv-legate repo.
###

if [[ '${{ github.event_name }}' == 'push' && '${{ github.repository }}' == 'nv-legate/legate.core' ]] \
|| [[ '${{ github.event_name }}' == 'pull_request' && '${{ github.repository }}' != 'nv-legate/legate.core' ]]; then
echo "ok=true" | tee -a "${GITHUB_OUTPUT}";
else
echo "ok=false" | tee -a "${GITHUB_OUTPUT}";
fi
36 changes: 17 additions & 19 deletions .github/workflows/gh-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@ on:
type: string

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BASE_IMAGE: rapidsai/devcontainers:23.06-cpp-cuda11.8-mambaforge-ubuntu22.04
IMAGE_NAME: legate.core-${{ inputs.build-target }}
BASE_IMAGE: rapidsai/devcontainers:23.10-cpp-cuda11.8-mambaforge-ubuntu22.04
IMAGE_TAG: "legate.core-${{ inputs.build-target }}:${{ inputs.sha }}"
USE_CUDA: ${{ (inputs.build-target == 'cpu' && 'OFF') || 'ON' }}

jobs:
Expand All @@ -35,6 +34,8 @@ jobs:
uses: actions/checkout@v3
with:
fetch-depth: 0
persist-credentials: false
ref: ${{ inputs.sha }}

- if: github.repository_owner == 'nv-legate'
name: Get AWS credentials for sccache bucket
Expand All @@ -50,11 +51,11 @@ jobs:
docker system prune --all --force

- name: Build docker image
env:
GH_TOKEN: "${{ secrets.PERSONAL_ACCESS_TOKEN || secrets.GITHUB_TOKEN }}"
run: |
echo BUILD_TARGET: ${{ inputs.build-target }}
echo USE_CUDA: ${{ env.USE_CUDA }}

IMAGE_TAG=${{ env.IMAGE_NAME }}:${{ inputs.sha }}
echo USE_CUDA: ${USE_CUDA}

continuous_integration/build-docker-image \
--base-image "$BASE_IMAGE" \
Expand All @@ -63,20 +64,17 @@ jobs:

- name: Dump docker history of image before upload
run: |
IMAGE_TAG=${{ env.IMAGE_NAME }}:${{ inputs.sha }}
docker history $IMAGE_TAG

- name: Dump docker history of image before upload
run: |
IMAGE_TAG=${{ env.IMAGE_NAME_CUNUMERIC }}:${{ inputs.sha }}

- name: Log in to container image registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Push image
run: |
IMAGE_TAG=${{ env.IMAGE_NAME }}:${{ inputs.sha }}

IMAGE_ID=ghcr.io/${{ github.repository_owner }}

# Change all uppercase to lowercase
Expand All @@ -89,10 +87,10 @@ jobs:

- name: Copy artifacts back to the host
run: |
IMAGE_TAG=${{ env.IMAGE_NAME }}:${{ inputs.sha }}
mkdir -p artifacts
docker run -v "$(pwd)/artifacts:/home/coder/.artifacts" --rm -t $IMAGE_TAG copy-artifacts

mkdir -p out;
docker run -v "$(pwd)/out:/out" --rm -t -u root $IMAGE_TAG \
sh -c "cp -ar /home/coder/.artifacts /out/ && chown -R $(id -u):$(id -g) /out";
mv out/.artifacts artifacts && rmdir out;

- name: Display structure of workdir
run: ls -R
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/gh-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ on:
sha:
required: true
type: string
test-name:
required: true
type: string
test-scope:
required: true
type: string
Expand All @@ -33,6 +36,6 @@ jobs:
name: Run nvidia-smi to make sure GPU is working
run: nvidia-smi

- name: Run legate.core test / analysis
- name: Run ${{ inputs.test-name }} on legate.core
shell: su coder {0}
run: run-test-or-analysis ${{ inputs.test-scope }}
run: ${{ inputs.test-scope }}-legate-python
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ config.mk
/docs/legate/core/build
/docs/legate/core/source/api/generated
*.egg-info
.creds
.cache
.coverage
.vscode
Expand Down
Loading