Skip to content

Commit

Permalink
Misc (#42)
Browse files Browse the repository at this point in the history
  • Loading branch information
zakstucke authored Jun 13, 2024
1 parent ad5f510 commit d67e627
Show file tree
Hide file tree
Showing 47 changed files with 1,903 additions and 785 deletions.
196 changes: 196 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
Dockerfile
Dockerfile.*

# Ignore private folder and any file with private in the name:
**/**/private/
*private*
# Except for zetch files:
!*private*.zetch.*
!*private*.*.zetch

**/**/process_data/
**/**/logs/

# Tempate files
.cop.*.yml

scratch_space.ipynb

**/**/node_modules/

# These are backup files generated by rustfmt
**/*.rs.bk

# Files flagged for ignore: which have .gitignore. inside them:
*.gitignore.*
*_gitignore.*

# Celery:
celerybeat-schedule.db

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Pdm:
.pdm-python

# Distribution / packaging
.Python
sds/sworker/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# leptos build files:
**/**/static/rsite/
# Compiled css:
**/**/static/css/

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
**/**/htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
**/**/coverage/
nosetests.xml
coverage.xml
*.cover
*.py,cover
**/**/.hypothesis/
**/**/.pytest_cache/
**/**/.ruff_cache/
**/**/cover/
**/**/.nox/
*.prof
prof/
**/**/perf_profiles/
**/**/test-results/
**/**/playwright-report/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
**/**/instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# PyBuilder
**/**/.pybuilder/
**/**/target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
**/**/profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
**/**/__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
**/**/.env
**/**/.venv
**/**/env/
**/**/venv/
**/**/ENV/
**/**/env.bak/
**/**/venv.bak/

# mkdocs local build directory:
**/**/site/
**/**/docs/js_ref/
**/**/docs/rust_ref/
.staticrypt.json

# Vscode internals
**/**/.vscode/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mypy
**/**/.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
**/**/.pyre/

# pytype static type analyzer
**/**/.pytype/

# Cython debug symbols
**/**/cython_debug/

# Pycharm
**/**/.idea/

# Mac stuff
.DS_Store

**/**/template_test_build/

# User
37 changes: 37 additions & 0 deletions .github/actions/install-rust/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Setup Rust
description: "Installs latest stable rust, and sets up sscache for caching."
inputs:
qa:
description: "Whether things like cargo-hack need installing."
required: false
default: "false"
test:
description: "Whether things like nextest need installing."
required: false
default: "false"
runs:
using: composite
steps:
- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- name: Run sccache-cache
uses: mozilla-actions/[email protected]
- name: Set Rust caching env vars
shell: bash
run: |
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
# Really this would need to be run as a post task to be of any use (to actually see hits),
# but post in composite action not currently supported:
# https://github.com/actions/runner/issues/1478
# - name: Run sccache stat for check
# shell: bash
# run: ${SCCACHE_PATH} --show-stats
- name: "Install cargo-hack, used for feature checking in pre-commit."
if: ${{ inputs.qa == 'true' }}
uses: taiki-e/install-action@cargo-hack
- name: Install nextest
if: ${{ inputs.test == 'true' }}
uses: taiki-e/install-action@nextest
33 changes: 9 additions & 24 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ jobs:
with:
token: ${{ secrets.VERSION_BOT_PAT }}
- uses: actions/setup-python@v4
- uses: ./.github/actions/install-pre-commit

- name: Install zetch
run: pip install zetch
Expand All @@ -69,9 +68,9 @@ jobs:
- name: Update Python version
if: ${{ inputs.py_release }}
run: |
zetch put zetch.config.toml context.static.PY_VERSION.value ${{ inputs.py_version }}
zetch put zetch.config.toml context.static.PY_VERSION ${{ inputs.py_version }}
# Js project
# Js project
- name: Install Bun, no npm should be needed
if: ${{ inputs.js_release }}
uses: oven-sh/setup-bun@v1
Expand All @@ -85,28 +84,22 @@ jobs:
- name: Update JS version
if: ${{ inputs.js_release }}
run: |
zetch put zetch.config.toml context.static.JS_VERSION.value ${{ inputs.js_version }}
- uses: dtolnay/rust-toolchain@stable
if: ${{ inputs.py_rust_release }} || ${{ inputs.rust_release }}
with:
components: rustfmt, clippy
zetch put zetch.config.toml context.static.JS_VERSION ${{ inputs.js_version }}
- name: Install cargo-hack, used for feature checking in pre-commit.
- uses: ./.github/actions/install-rust
if: ${{ inputs.py_rust_release }} || ${{ inputs.rust_release }}
uses: taiki-e/install-action@cargo-hack


- name: Update Rust-backed Python version
if: ${{ inputs.py_rust_release }}
run: |
zetch put zetch.config.toml context.static.PY_RUST_VERSION.value ${{ inputs.py_rust_version }}
zetch put zetch.config.toml context.static.PY_RUST_VERSION ${{ inputs.py_rust_version }}
- name: Update Rust version
if: ${{ inputs.rust_release }}
run: |
zetch put zetch.config.toml context.static.RUST_VERSION.value ${{ inputs.rust_version }}
zetch put zetch.config.toml context.static.RUST_VERSION ${{ inputs.rust_version }}
- uses: ./.github/actions/install-pre-commit
- name: add and format added files with pre-commit
# Running on staged change only as that's all that's needed, || true as don't want it to fail, just modify
run: |
Expand Down Expand Up @@ -160,13 +153,7 @@ jobs:
with:
node-version: '20'

- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
workspaces: ./rust -> target
cache-on-failure: 'true'
cache-all-crates: 'true'
- uses: ./.github/actions/install-rust

- name: Build docs
run: |
Expand Down Expand Up @@ -334,9 +321,7 @@ jobs:
ref: ${{ needs.commit_versions.outputs.new-sha }}


- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable

- uses: ./.github/actions/install-rust
- name: upload to Crates.io
run: |
cd rust
Expand Down
36 changes: 9 additions & 27 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ jobs:
with:
python-version: "3.12"
cache: pip
- uses: ./.github/actions/install-pre-commit

# Python project
- name: Set up PDM
Expand All @@ -62,12 +61,11 @@ jobs:
cd ./js
bun install
- uses: dtolnay/rust-toolchain@stable
- uses: ./.github/actions/install-rust
with:
components: rustfmt, clippy
- name: "Install cargo-hack, used for feature checking in pre-commit."
uses: taiki-e/install-action@cargo-hack
qa: true

- uses: ./.github/actions/install-pre-commit
- name: Run QA
run: |
./dev_scripts/test.sh qa
Expand Down Expand Up @@ -96,13 +94,9 @@ jobs:
with:
node-version: "20"

- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: ./.github/actions/install-rust
with:
workspaces: "./rust -> target"
cache-on-failure: "true"
cache-all-crates: "true"
qa: true

- name: Install dependencies
run: |
Expand Down Expand Up @@ -198,15 +192,9 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: ./.github/actions/install-rust
with:
workspaces: "./py_rust -> target"
cache-on-failure: "true"
cache-all-crates: "true"
- name: Install nextest
uses: taiki-e/install-action@nextest
test: true

- uses: actions/setup-python@v4
with:
Expand Down Expand Up @@ -243,15 +231,9 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: ./.github/actions/install-rust
with:
workspaces: "./rust -> target"
cache-on-failure: "true"
cache-all-crates: "true"
- name: Install nextest
uses: taiki-e/install-action@nextest
test: true

- name: Run tests (linux)
if: matrix.os == 'ubuntu-latest'
Expand Down
Loading

0 comments on commit d67e627

Please sign in to comment.