Skip to content

Commit

Permalink
Beta version.
Browse files Browse the repository at this point in the history
  • Loading branch information
joaander committed Apr 25, 2024
0 parents commit dbd1aa3
Show file tree
Hide file tree
Showing 85 changed files with 9,525 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/workflows/pre-commit-requirements.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pre-commit==3.7.0
27 changes: 27 additions & 0 deletions .github/workflows/pre-commit-requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#
# This file is autogenerated by pip-compile with Python 3.12
# by the following command:
#
# pip-compile pre-commit-requirements.in
#
cfgv==3.4.0
# via pre-commit
distlib==0.3.8
# via virtualenv
filelock==3.13.4
# via virtualenv
identify==2.5.36
# via pre-commit
nodeenv==1.8.0
# via pre-commit
platformdirs==4.2.1
# via virtualenv
pre-commit==3.7.0
# via -r pre-commit-requirements.in
pyyaml==6.0.1
# via pre-commit
virtualenv==20.26.0
# via pre-commit

# The following packages are considered to be unsafe in a requirements file:
# setuptools
28 changes: 28 additions & 0 deletions .github/workflows/pre-commit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: pre-commit

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

on:
pull_request:
push:
branches: [trunk]

workflow_dispatch:

jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.3
- uses: actions/cache@v4.0.2
with:
path: |
~/.cache/pre-commit/
key: ${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
- uses: actions/setup-python@v5.0.0
with:
python-version: '3.12'
- run: pip install -r .github/workflows/pre-commit-requirements.txt
- run: pre-commit run --all-files
1 change: 1 addition & 0 deletions .github/workflows/signac-requirements.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
signac==2.2.0
16 changes: 16 additions & 0 deletions .github/workflows/signac-requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#
# This file is autogenerated by pip-compile with Python 3.12
# by the following command:
#
# pip-compile signac-requirements.in
#
filelock==3.13.4
# via signac
packaging==24.0
# via signac
signac==2.2.0
# via -r signac-requirements.in
synced-collections==1.0.0
# via signac
tqdm==4.66.2
# via signac
122 changes: 122 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
name: test

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

on:
pull_request:
push:
branches:
- "trunk"

workflow_dispatch:

defaults:
run:
shell: bash

env:
CARGO_TERM_COLOR: always
ROW_COLOR: always
CLICOLOR: 1
MDBOOK_VERSION: 0.4.37
LINKCHECK_VERSION: 0.7.7

jobs:
unit_test:
name: Unit test on ${{ matrix.os }} [${{ matrix.mode }}]
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04]
mode: [debug, release]

include:
- mode: 'debug'
mode_option: ''
- mode: 'release'
mode_option: '--release'

steps:
- uses: actions/checkout@v4.1.3
- uses: actions/cache@v4.0.2
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-unit-test-${{ matrix.mode }}-${{ hashFiles('**/Cargo.lock') }}
- name: Build
run: cargo build ${{ matrix.mode_option }} --verbose
- name: Run tests
run: cargo test ${{ matrix.mode_option }} --verbose

execute_tutorials:
name: Execute tutorials
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4.1.3
- uses: actions/cache@v4.0.2
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-execute-tutorials-${{ hashFiles('**/Cargo.lock') }}
- name: Install
run: cargo install --path . --locked --verbose
- name: Run hello.sh
run: bash hello.sh
working-directory: doc/src/guide/tutorial
env:
ROW_YES: "true"
- name: Run group.sh
run: bash group.sh
working-directory: doc/src/guide/tutorial
env:
ROW_YES: "true"
# The signac test requires python
- name: Set up Python
uses: actions/setup-python@v5.0.0
with:
python-version: '3.12'
- run: pip install -r .github/workflows/signac-requirements.txt
- name: Run signac.sh
run: bash signac.sh
working-directory: doc/src/guide/python
env:
ROW_YES: "true"

build_documentation:
name: Build documentation
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4.1.3
- name: Install mdbook
run: |
mkdir -p "$HOME/.cargo/bin"
curl -sSL "https://github.com/rust-lang/mdBook/releases/download/v$MDBOOK_VERSION/mdbook-v$MDBOOK_VERSION-x86_64-unknown-linux-gnu.tar.gz" | tar -xvz --directory "$HOME/.cargo/bin"
- name: Install mdbook-linkcheck
run: |
curl -sSL "https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases/download/v$LINKCHECK_VERSION/mdbook-linkcheck.x86_64-unknown-linux-gnu.zip" -o mdbook-linkcheck.zip
unzip mdbook-linkcheck.zip -d "$HOME/.cargo/bin"
chmod a+x "$HOME/.cargo/bin/mdbook-linkcheck"
- name: Add linkcheck configuration
run: |
echo -e "[output.linkcheck]\nfollow-web-links=true" >> doc/book.toml
cat doc/book.toml
- name: Build documentation
run: mdbook build doc
env:
RUST_LOG: "mdbook=info,linkcheck=warn,reqwest=debug"

tests_complete:
name: All tests
needs: [unit_test, execute_tutorials, build_documentation]
runs-on: ubuntu-latest

steps:
- run: echo "Done!"
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/target
/workspace
/workflow.toml
/.row
/.signac
2 changes: 2 additions & 0 deletions .ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
!/workflow.toml
!/.ignore
29 changes: 29 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
ci:
autoupdate_schedule: quarterly
autoupdate_branch: 'trunk'
autofix_prs: false

repos:
- repo: https://github.com/backplane/pre-commit-rust-hooks
rev: v1.1.0
hooks:
- id: fmt
- id: check
- id: clippy
args:
- --
- -Dwarnings
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: 'v4.5.0'
hooks:
- id: end-of-file-fixer
- id: trailing-whitespace
- id: check-json
- id: check-toml
- id: check-yaml
- id: check-case-conflict
- id: mixed-line-ending
- repo: https://github.com/rhysd/actionlint
rev: v1.6.27
hooks:
- id: actionlint
Loading

0 comments on commit dbd1aa3

Please sign in to comment.