File tree Expand file tree Collapse file tree 10 files changed +11
-483
lines changed Expand file tree Collapse file tree 10 files changed +11
-483
lines changed Original file line number Diff line number Diff line change 55- Can group multiple related symbols on a single bullet
66
77- [ ] Tests added
8- - [ ] If dependencies changed, "deps only" image rebuilt and "latest_deps_only_image.txt" file updated
98
109Resolves #<github issues > (delete if none)
Original file line number Diff line number Diff line change 88 branches :
99 - main
1010
11- # Add a button to manually trigger the workflow
12- workflow_dispatch :
13-
14- # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
15- permissions :
16- contents : read
17- pages : write
18- id-token : write
19-
20- # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
21- # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
22- concurrency :
23- group : " pages"
24- cancel-in-progress : false
25-
2611jobs :
2712 build :
2813 runs-on : ubuntu-latest
@@ -49,15 +34,11 @@ jobs:
4934 run : |
5035 source .venv/bin/activate
5136 cd docs && make doctest html
52- - name : Upload to GitHub Pages
53- uses : actions/upload-pages-artifact@v3
54- with :
55- path : docs/_build/html
56- deploy :
57- runs-on : ubuntu-latest
58- # Only deploy on manual trigger or push to main
59- if : ${{ github.event_name == 'workflow_dispatch' || (github.event_name == 'push' && github.ref == 'refs/heads/main') }}
60- needs : build
61- steps :
6237 - name : Deploy to GitHub Pages
63- uses : actions/deploy-pages@v4
38+ uses : peaceiris/actions-gh-pages@v3
39+ if : ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
40+ with :
41+ publish_branch : gh-pages
42+ github_token : ${{ secrets.GITHUB_TOKEN }}
43+ publish_dir : docs/_build/
44+ force_orphan : true
Original file line number Diff line number Diff line change 5555 - name : Run pytest
5656 run : |
5757 make test_very_fast
58- gpu :
59- # These steps run on our self-hosted k8s GPU runners. See below for setup notes
60- # https://github.com/ai2cm/long-lived-infrastructure#installing-the-github-actions-runner-controller
61- runs-on : arc-runner-set
62- steps :
63- - uses : actions/checkout@v3
64- - name : Set environment variables
65- run : |
66- echo "CURRENT_WEEK=$(date +'%Y-%U')" >> $GITHUB_ENV
67- - uses : actions/setup-python@v4
68- with :
69- python-version : " 3.11"
70- - uses : actions/cache@v4
71- with :
72- path : ${{ env.pythonLocation }}
73- key : ${{ env.CURRENT_WEEK }}-${{ env.pythonLocation }}-${{ hashFiles('requirements.txt') }}-${{ hashFiles('requirements-dev.txt') }}-${{ hashFiles('requirements-healpix.txt') }}-${{ hashFiles('constraints.txt') }}
74- - name : Install dependencies
75- run : |
76- sudo apt-get update
77- sudo apt-get install -y make git build-essential
78- python -m pip install uv
79- # can't use --system here because it doesn't work with --no-build-isolation and a healpix dependency
80- uv venv --python 3.11
81- uv pip install -c constraints.txt -e .[dev]
82- uv pip install --no-build-isolation -c constraints.txt -e .[dev,healpix]
83- - name : Run CUDA check and pytest
84- run : |
85- source .venv/bin/activate
86- export PATH=/usr/local/nvidia/bin:${PATH}
87- export LD_LIBRARY_PATH=/usr/local/nvidia/lib64:${LD_LIBRARY_PATH}
88- python3 fme/require_gpu.py
89- make test
Original file line number Diff line number Diff line change 11docs /available_modules.rst
22docs /_build
3- filtered_repo /
43
54.vscode
65
Original file line number Diff line number Diff line change 2828 (?x)^(
2929 .+/conf.py |
3030 .+/conftest.py |
31- fme/ace/models/makani_fcn2/.*
3231 )$
Original file line number Diff line number Diff line change 1717
1818# Build documentation in the "docs/" directory with Sphinx
1919sphinx :
20- configuration : fme/ docs/conf.py
20+ configuration : docs/conf.py
2121
2222# Optionally build your docs in additional formats such as PDF and ePub
2323# formats:
@@ -29,4 +29,5 @@ sphinx:
2929# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
3030python :
3131 install :
32- - requirements : fme/docs/requirements-pinned.txt
32+ - requirements : docs/requirements.txt
33+ - requirements : requirements.txt
Original file line number Diff line number Diff line change 11VERSION ?= $(shell git rev-parse --short HEAD)
22IMAGE ?= fme
3- REGISTRY ?= registry.nersc.gov/m4492/ai2cm
43ENVIRONMENT_NAME ?= fme
5- USERNAME ?= $(shell beaker account whoami --format=json | jq -r '.[0].name')
64DEPLOY_TARGET ?= pypi
7- BEAKER_WORKSPACE = ai2/ace
85
96ifeq ($(shell uname) , Linux)
107 CONDA_PACKAGES=gxx_linux-64 pip
1512build_docker_image :
1613 DOCKER_BUILDKIT=1 docker build --platform=linux/amd64 -f docker/Dockerfile -t $(IMAGE ) :$(VERSION ) --target production .
1714
18- push_shifter_image : build_docker_image
19- docker tag $(IMAGE ) :$(VERSION ) $(REGISTRY ) /$(IMAGE ) :$(VERSION )
20- docker push $(REGISTRY ) /$(IMAGE ) :$(VERSION )
21-
22- build_beaker_image : build_docker_image
23- beaker image create --name $(IMAGE ) -$(VERSION ) $(IMAGE ) :$(VERSION )
24-
25- build_podman_image :
26- podman-hpc build -f docker/Dockerfile -t $(IMAGE ) :$(VERSION ) .
27-
28- migrate_podman_image : build_podman_image
29- podman-hpc migrate $(IMAGE ) :$(VERSION )
30-
3115enter_docker_image : build_docker_image
3216 docker run -it --rm $(IMAGE ) :$(VERSION ) bash
3317
34- launch_beaker_session :
35- ./launch-beaker-session.sh $(USERNAME ) /$(IMAGE ) -$(VERSION )
36-
37- build_deps_only_image :
38- DOCKER_BUILDKIT=1 docker build --platform=linux/amd64 -f docker/Dockerfile -t $(IMAGE ) -deps-only:$(VERSION ) --target deps-only .
39- beaker image create $(IMAGE ) -deps-only:$(VERSION ) --name $(IMAGE ) -deps-only-$(VERSION ) --workspace ai2/ace-ci-tests
40-
4118
4219# recommended to deactivate current conda environment before running this
4320create_environment :
Original file line number Diff line number Diff line change 11# these are convenient to have installed for ad-hoc analysis but are not requirements of the "fme" package
22Bottleneck
3- beaker-gantry>=1.12.0
4- beaker-py
53bokeh>=3.1.0
64dask[distributed]
75ipywidgets
Original file line number Diff line number Diff line change @@ -31,22 +31,4 @@ COPY . ${FME_DIR}
3131RUN cd $FME_DIR && pip install --no-deps -e .
3232
3333# copy after install so editing scripts does not trigger reinstall
34- COPY scripts ${FME_DIR}/scripts
35-
36- FROM base AS deps-only
37-
38- # install github cli and yq
39- RUN apt-get update && apt-get install -y \
40- ca-certificates \
41- && curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | gpg --dearmor -o /usr/share/keyrings/githubcli-archive-keyring.gpg \
42- && echo "deb [signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
43- && apt-get update && apt-get install -y gh \
44- && apt-get clean \
45- && rm -rf /var/lib/apt/lists/*
46-
47- RUN wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq &&\
48- chmod +x /usr/bin/yq
49-
50- COPY scripts/ci_beaker/entrypoint.sh /entrypoint.sh
51- RUN chmod +x /entrypoint.sh
52- ENTRYPOINT ["/entrypoint.sh" ]
34+ COPY scripts ${FME_DIR}/scripts
You can’t perform that action at this time.
0 commit comments