diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..0770125 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,7 @@ +## Overview + +- Summary of changes + +## Testing + +- Testing performed to validate the changes diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..605629d --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,40 @@ +name: CI + +on: + pull_request: + branches: [main] + +jobs: + + tests: + needs: changes + runs-on: ubuntu-latest + env: + RUST_TOOLCHAIN: stable + CARGO_INCREMENTAL: 0 + SCCACHE_GHA_ENABLED: 'true' + RUSTC_WRAPPER: 'sccache' + ENV: 'test' + steps: + - uses: actions/checkout@v4 + - name: Cleanup Apt + run: sudo find /var/lib/apt/lists/ -type 'f' -name 'archive*' -delete && sudo apt-get update + - uses: rui314/setup-mold@v1 + with: + mold-version: 1.1.1 + make-default: true + - name: Ensure we use Mold + run: sudo ln -s /usr/local/bin/ld.mold /usr/bin/ld.lld + - name: Install rust + caching + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + rustflags: '-C link-arg=-fuse-ld=lld' + components: rustfmt, clippy + - name: Set up sccache + uses: mozilla-actions/sccache-action@v0.0.3 + - name: Clear sccache stats + run: sccache --zero-stats + - name: Run Tests + run: | + cargo test -- --nocapture + diff --git a/.gitignore b/.gitignore index 575a1af..6969b2c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,72 @@ -.vscode/ -target/ \ No newline at end of file +# Javascript/Typescript +node_modules/ +dist/ +build/ +coverage/ +vendor/ + +# Node Logs +logs +*.log +npm-debug.log* +AWSCLIV2.pkg + +# Mac +**/.DS_Store + +# IDEs +**/.vscode +**/.idea/ + +# Services +ts-services/parser-lambda/parser/test/data/local/* +ts-services/parser-lambda/parser/test/output/* +ts-services/parser-lambda/parser/playground.ts + +# Secrets +ts-services/dev-api-lambda/crypto-billing/*_secrets.ts +infra/ansible/vars/**/*-secrets.yaml +infra/ansible/vars/**/*-secrets.yml +infra/ansible/photon/vars/*-secrets.yaml +infra/ansible/photon/vars/*-secrets.yml +infra/ansible/rpc/templates/bt-creds*.json + +# Rust +**/target/ + +# CPU profiles +*.cpuprofile + +# Built helm charts +infra/**/*.tgz + +.gradle +.m2 +bin + +# Build output directies +/target +*/target +/build +*/build + +# Local Redis +dump.rdb + +infra/ansible/roles/Datadog.datadog +infra/ansible/photon/roles/datadog.datadog + + +scripts/data + +# Jupyter notebooks +*.ipynb + +# Personal Playground +personal_playground + + +# Used for local deployments of RPC operator +/rpc-operator/ +**/systest/*.json +**/router-benchmarks/*.json