Skip to content

Commit

Permalink
Opensourcing more of the IC infrastructure
Browse files Browse the repository at this point in the history
  • Loading branch information
Valeriy Zamaraiev committed Nov 29, 2021
1 parent 02c0f32 commit 991b336
Show file tree
Hide file tree
Showing 2,591 changed files with 232,032 additions and 9,490 deletions.
177 changes: 177 additions & 0 deletions .dependencies/cargo.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
/*
See https://www.notion.so/Dependency-Ownership-76046dcddbf5414e94cd1b209748469a for dependency ownership management.

Each dependency is a dict entry that should contain at least 2 owners, a description, and some keywords:
{
"cat2dog": {
"owners": [
{"email": "[email protected]"},
{"email": "[email protected]"},
],
"description": "Cat to dog conversion operations",
"keywords": ["cat", "dog", "conversion"],
},
}
Only add direct dependencies here, i.e. something that is explicitly mentioned in your Cargo.toml.
If different versions of a dependency is directly referenced in our codebase, each owner has to specify
a list of versions they own. Each version should still have at least 2 owners:
{
"cat2dog": {
"owners": [
{"email": "[email protected]", "versions": ["1.1.0", "1.1.1"]},
{"email": "[email protected]", "versions": ["1.1.1"]},
{"email": "[email protected]", "versions": ["1.1.0"]},
],
"description": "Cat to dog conversion operations",
"keywords": ["cat", "dog", "conversion"],
},
}
The file is parsed with JSON5, so please use trailing commas. Feel free to add comments as well.
Validation schema can be found at https://github.com/dfinity-lab/dfinity/blob/master/gitlab-ci/src/dependencies/inventory.schema
*/
{
"async-trait": {
"owners": [
{"email": "[email protected]"},
{"email": "[email protected]"},
],
"description": "Async trait methods",
"keywords": ["async"]
},
"curve25519-dalek": {
"owners": [
{"email": "[email protected]"},
{"email": "[email protected]"},
],
"description": "A pure-Rust implementation of group operations on ristretto255 and Curve25519",
"keywords": ["crypto"],
},
"ed25519-dalek": {
"owners": [
{"email": "[email protected]"},
{"email": "[email protected]"},
],
"description": "Fast and efficient ed25519 EdDSA key generations, signing, and verification in pure Rust.",
"keywords": ["crypto", "signatures"],
},
"ff": {
"owners": [
{"email": "[email protected]"},
{"email": "[email protected]"},
],
"description": "Library for building and interfacing with finite fields",
"keywords": ["crypto", "finite fields"],
},
"bls12_381": {
"owners": [
{"email": "[email protected]"},
{"email": "[email protected]"},
],
"description": "Elliptic curve pairing library",
"keywords": ["crypto"],
},
"getrandom": {
"owners": [
{"email": "[email protected]"},
{"email": "[email protected]"},
],
"description": "Library for retreiving system randomness",
"keywords": ["crypto"],
},
"leb128": {
"owners": [
{"email": "[email protected]"},
{"email": "[email protected]"},
],
"description": "Read and write DWARF's little endian base 128 encoding",
"keywords": ["leb128"]
},
"libsecp256k1": {
"owners": [
{"email": "[email protected]"},
{"email": "[email protected]"},
],
"description": "Pure Rust secp256k1 implementation.",
"keywords": ["crypto"],
},
"num-integer": {
"owners": [
{"email": "[email protected]"},
{"email": "[email protected]"},
],
"description": "Integer traits and functions",
"keywords": ["integers"],
},
"openssl": {
"owners": [
{"email": "[email protected]"},
{"email": "[email protected]"},
],
"description": "OpenSSL bindings",
"keywords": ["crypto", "tls"],
},
"pairing": {
"owners": [
{"email": "[email protected]"},
{"email": "[email protected]"},
],
"description": "Pairing-friendly elliptic curve library",
"keywords": ["crypto"],
},
"parking_lot": {
"owners": [
{"email": "[email protected]"},
{"email": "[email protected]"},
],
"description": "More compact and efficient implementations of the standard synchronization primitives.",
"keywords": ["locking"],
},
"rand": {
"owners": [
{"email": "[email protected]", "versions": ["0.4.6", "0.7.3", "0.8.3"]},
{"email": "[email protected]", "versions": ["0.4.6", "0.7.3", "0.8.3"]},
],
"description": "Random number generators and other randomness functionality.",
"keywords": ["randomness"],
},
"rand_chacha": {
"owners": [
{"email": "[email protected]", "versions": ['0.2.2', '0.3.0']},
{"email": "[email protected]", "versions": ['0.2.2', '0.3.0']},
],
"description": "ChaCha random number generator",
"keywords": ["randomness"],
},
"rand_core": {
"owners": [
{"email": "[email protected]", "versions": ['0.5.1', '0.6.2']},
{"email": "[email protected]", "versions": ['0.5.1', '0.6.2']},
],
"description": "Core random number generator traits and tools for implementation.",
"keywords": ["randomness"]
},
"simple_asn1": {
"owners": [
{"email": "[email protected]"},
{"email": "[email protected]"},
],
"description": "A simple DER/ASN.1 encoding/decoding library.",
"keywords": ["asn1", "der"],
},
"tokio-openssl": {
"owners": [
{"email": "[email protected]"},
{"email": "[email protected]"},
],
"description": "An implementation of SSL streams for Tokio backed by OpenSSL",
"keywords": ["async", "tls"],
},
"zeroize": {
"owners": [
{"email": "[email protected]"},
{"email": "[email protected]"},
],
"description": "Securely zero memory while avoiding compiler optimizations.",
"keywords": ["crypto", "zeroing"],
},
}
13 changes: 13 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
artifacts/
**/target/
**/build/

**/bin/canister_sandbox
**/bin/ic-regedit
**/bin/vsock_agent
**/bin/nodemanager
**/bin/ic-consensus-pool-util
**/bin/replica
**/bin/ic-crypto-csp
**/bin/state-tool
**/disk.img
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/hs/generated/* linguist-generated=true
2 changes: 0 additions & 2 deletions .github/pull_request_template.md

This file was deleted.

88 changes: 88 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Created by https://www.gitignore.io/api/rust
# Edit at https://www.gitignore.io/?templates=rust

# Ignore all files ending in .secret
*.secret

### Rust ###
# Generated by Cargo
# will have compiled files and executables
**/target/

# We set CARGO_HOME to this local directory to minimize interaction
# with the environment outside nix
rs/.cargo-home

# The following is commented out since we need to guarantee all engineers and CI
# are using the same crates.
# # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
# **/Cargo.lock

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

# These are files generated by proptest
**/*.proptest-regressions
**/proptest-regressions

# End of https://www.gitignore.io/api/rust

### ASCIIDOC ###

/docs/**/*.png
/docs/**/*.svg
!/docs/assets/*.png
!/docs/assets/*.svg
/docs/**/*.html
/docs/**/.asciidoctor

README.html

### Working files ###
,*
*~
*.bak
tarpaulin-report.html
*.iml
*.swp
*.swo

### Haskell related ###

dist-newstyle

### Rust tags created by rusty-tags
**/rusty-tags.vi
**/rusty-tags.emacs

### Python litter
**/__pycache__/
**/dist/*.tar.gz
**/*whl


# JUnit files
test_report.xml

# IC-OS disk images
ic-os.img.tar
ic-os.img

# Various build artifacts
/artifacts/
**/build
**/build-tmp
**/boot/version.txt
**/bin/canister_sandbox
**/bin/ic-consensus-pool-util
**/bin/ic-crypto-csp
**/bin/ic-regedit
**/bin/nodemanager
**/bin/replica
**/bin/state-tool
**/bin/vsock_agent
**/bin/canister_sandbox

# Boundary node control plane binary
boundary-node-control-plane
26 changes: 26 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# DO NOT put any configurations in this file! Common configurations must go in 00--common.yml
# or 00--common-rules.yml. The child pipeline [e.g. cargo pipeline] will not inherit any
# configurations from this file.
#
# This file should only include other YAML files used to create the root parent pipeline.

include:
- local: /gitlab-ci/config/00--common.yml
- local: /gitlab-ci/config/10--init--github-integration.yml
- local: /gitlab-ci/config/20--build-nix-shell.yml
- local: /gitlab-ci/config/20--test--cargo-pipeline.yml
- local: /gitlab-ci/config/20--test--pre-commit.yml
- local: /gitlab-ci/config/20--test--cargo-generate.yml
- local: /gitlab-ci/config/20--test--fast-path.yml
- local: /gitlab-ci/config/20--test--gitlab-runners.yml
- local: /gitlab-ci/config/20--test--python.yml
- local: /gitlab-ci/config/20--test--docker-autobuild.yml
- local: /gitlab-ci/config/20--test--docker-build-all.yml
- local: /gitlab-ci/config/20--test--crash-safety.yml
- local: /gitlab-ci/config/20--test--dependencies.yml
- local: /gitlab-ci/config/20--test--shellcheck.yml
- local: /gitlab-ci/config/40--cargo-test--benchmarks.yml
- local: /gitlab-ci/config/60--prod-test--spawn-test-pipeline.yml
- local: /gitlab-ci/config/75--push-branches--push.yml
- local: /gitlab-ci/config/100--finalize--notify.yml
- local: /testnet/tests/pipeline/pipeline.yml
Loading

0 comments on commit 991b336

Please sign in to comment.