Skip to content

Commit

Permalink
Merge branch 'main' into zarr-prop-tests
Browse files Browse the repository at this point in the history
* main: (167 commits)
  Bump actions/checkout from 2 to 4 in the actions group (#305)
  update zarr pin to v3.0.0b1 (#302)
  Fix non-conformant "attributes" metadata (#303)
  Implement branch reset functionality (#301)
  README minor tune up: syntax and other very minor typos etc (#300)
  remove awaits in icechunk notebook (#298)
  Add missing permission to release action (#295)
  Minor changes to virtual docs (#293)
  Add changelogs (#291)
  Install cargo release (#290)
  Update python ci (#289)
  GHA workflow to release Rust (#288)
  Release 0.1.0-alpha.3 to the Rust world (#287)
  `ByteRange` can do last n bytes now (#285)
  Introduce `Store::list_dir_items` (#286)
  [Docs] Improve virtual ref docs (#284)
  [Docs] correct output dimensions in xr example (#283)
  [Docs] add note for requirements of tutorial data download (#282)
  [Docs] correct module calls to match imports (#281)
  fix(docs): Docs postlaunch fixes (#278)
  ...
  • Loading branch information
dcherian committed Oct 21, 2024
2 parents 5cba96f + 8e8549b commit a28cda0
Show file tree
Hide file tree
Showing 144 changed files with 19,070 additions and 4,659 deletions.
6 changes: 6 additions & 0 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[codespell]
# Ref: https://github.com/codespell-project/codespell#using-a-config-file
skip = .git*,*.svg,*.lock,*.css,.codespellrc
check-hidden = true
ignore-regex = ^\s*"image/\S+": ".*|\bND\b
ignore-words-list = crate
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.ipynb linguist-detectable=false
4 changes: 4 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,7 @@ updates:
day: "monday"
time: "05:00"
timezone: "US/Pacific"
groups:
actions:
patterns:
- "*"
25 changes: 25 additions & 0 deletions .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Codespell configuration is within .codespellrc
---
name: Codespell

on:
push:
branches: [main]
pull_request:
branches: [main]

permissions:
contents: read

jobs:
codespell:
name: Check for spelling errors
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4
- name: Annotate locations with typos
uses: codespell-project/codespell-problem-matcher@v1
- name: Codespell
uses: codespell-project/actions-codespell@v2
67 changes: 67 additions & 0 deletions .github/workflows/deploy-docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: deploy-docs
on:
workflow_dispatch:
push:
branches:
- main
permissions:
contents: write
jobs:
deploy:
defaults:
run:
working-directory: ./docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- uses: actions/setup-python@v5
with:
python-version: 3.x

- name: Load cached Poetry installation
id: cached-poetry
uses: actions/cache@v4
with:
path: ~/.local # the path depends on the OS
key: poetry-0 # increment to reset cache

- name: Install Poetry
if: steps.cached-poetry.outputs.cache-hit != 'true'
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
virtualenvs-path: .venv
installer-parallel: true

- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v4
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}

- name: Install dependencies (with cache)
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --no-interaction --no-root

- name: Install project
run: poetry install --no-interaction

- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV

- name: Setup Cache for MkDocs
uses: actions/cache@v4
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- name: Deploy to gh-pages
run: poetry run mkdocs gh-deploy --force
64 changes: 64 additions & 0 deletions .github/workflows/publish-rust-library.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: publish rust library

env:
CARGO_INCREMENTAL: 0
CARGO_NET_RETRY: 10
CI: 1
RUST_BACKTRACE: short
RUSTFLAGS: "-D warnings -W unreachable-pub -W bare-trait-objects"
RUSTUP_MAX_RETRIES: 10
RUST_CHANNEL: 'stable'

on:
workflow_dispatch:

jobs:
publish:
name: Check and publish
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Stand up MinIO
run: |
docker compose up -d minio
- name: Wait for MinIO to be ready
run: |
for i in {1..10}; do
if curl --silent --fail http://minio:9000/minio/health/live; then
break
fi
sleep 3
done
docker compose exec -T minio mc alias set minio http://minio:9000 minio123 minio123
- name: Install Just
run: sudo snap install --edge --classic just

- name: Install Rust toolchain
run: |
rustup update --no-self-update ${{ env.RUST_CHANNEL }}
rustup component add --toolchain ${{ env.RUST_CHANNEL }} rustfmt rust-src clippy
rustup default ${{ env.RUST_CHANNEL }}
- name: Cache Dependencies
uses: Swatinem/rust-cache@v2
with:
# workspaces: "rust -> target"
key: ${{ env.RUST_CHANNEL }}

- name: Install cargo-deny
run: cargo install --locked cargo-deny

- name: Check
if: matrix.os == 'ubuntu-latest' || github.event_name == 'push'
run: |
just pre-commit
- name: Install cargo-release
run: cargo install --locked cargo-release

- name: publish to crates
run: cargo release --tag-prefix icechunk-rust --execute
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
95 changes: 95 additions & 0 deletions .github/workflows/python-check.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: Python Check

on:
push:
branches:
- main
pull_request:
paths:
- 'icechunk/**'
- 'icechunk-python/**'
- '.github/workflows/python-check.yaml'
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read

defaults:
run:
working-directory: ./icechunk-python

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Stand up MinIO
run: |
docker compose up -d minio
- name: Wait for MinIO to be ready
run: |
for _ in {1..10}; do
if curl --silent --fail http://minio:9000/minio/health/live; then
break
fi
sleep 3
done
docker compose exec -T minio mc alias set minio http://minio:9000 minio123 minio123
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
working-directory: icechunk-python
target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter
sccache: 'true'
manylinux: ${{ matrix.platform.manylinux }} # https://github.com/PyO3/maturin-action/issues/245
- name: mypy
shell: bash
working-directory: icechunk-python
run: |
set -e
python3 -m venv .venv
source .venv/bin/activate
pip install icechunk['test'] --find-links dist --force-reinstall
mypy python
- name: ruff
shell: bash
working-directory: icechunk-python
run: |
set -e
python3 -m venv .venv
source .venv/bin/activate
pip install icechunk['test'] --find-links dist --force-reinstall
ruff check
- name: Restore cached hypothesis directory
id: restore-hypothesis-cache
uses: actions/cache/restore@v4
with:
path: icechunk-python/.hypothesis/
key: cache-hypothesis-${{ runner.os }}-${{ github.run_id }}
restore-keys: |
cache-hypothesis-
- name: pytest
shell: bash
working-directory: icechunk-python
run: |
set -e
python3 -m venv .venv
source .venv/bin/activate
pip install icechunk['test'] --find-links dist --force-reinstall
pytest
# explicitly save the cache so it gets updated, also do this even if it fails.
- name: Save cached hypothesis directory
id: save-hypothesis-cache
if: always()
uses: actions/cache/save@v4
with:
path: icechunk-python/.hypothesis/
key: cache-hypothesis-${{ runner.os }}-${{ github.run_id }}
Loading

0 comments on commit a28cda0

Please sign in to comment.