e5afd54ce0
* Basic storage stub * New models for new node status api * Route handling * Mounting new routes * Missing selective commit * Moved network monitor related files to separate package * Starting to see some sqlx action * Schema updates * Log statement upon finished migration * Removed old diesel related imports * Converted mixnode cache initialisation into a fairing * Moved cache related functionalities to separate package Also defined staging there * Created run method for validator cache + removed unwrap * Removed old node-status-api types and left bunch of todo placeholders in their place * Fixed managing validatorcache * Status reports are starting to get constructed * Submitting some dummy results to the database * Removing duplicate code for generating reports * Removed statuses older than 48h * Initial attempt at trying to obtain reports for all active nodes * Removed duplicates from the full report * Grabbing uptime history * Updating historical uptimes of active nodes * Updated sqlx-data.json * Removed all placeholder foomp owner values * Changed Layer serde behaviour for easier usage * Extended validator api config * Initial (seems working !) integration with network monitor * Added database path configuration to config * Using ValidatorCache in NetworkMonitor * Flag indicating whether validator cache has been initialised * Introduced a locla-only route for reward script to perform daily chores * Flag to save config to a file * Moved spawning of receiving future to run method rather than new * Removed arguments that dont make sense to be configured via CLI * Removed dead code from config file * More dead code removal * Added validator API to CI * Corrected manifest-path arguments * Constructing network monitor by passing config * Combined validator API CI with the main CI file * Using query_as for NodeStatus * Checking if historical uptimes were already calculated on particular day * Making id field NOT NULL * More query_as! action * Updated sqlx-data.json * Removed unused chrono feature * Renamed the migration file * Changed default validator endpoint to point to local validator * Removing unnecessary clone * More appropriate naming * Removed dead code * Lock file updates * Updated network monitor address in contract code * Don't stage node status api if network monitor is disabled * cargo fmt * Updated all license notices to SPDX
72 lines
1.7 KiB
YAML
72 lines
1.7 KiB
YAML
name: Continuous integration
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
ci:
|
|
runs-on: ${{ matrix.os }}
|
|
continue-on-error: ${{ matrix.rust == 'nightly' || matrix.rust == 'beta' }}
|
|
strategy:
|
|
matrix:
|
|
rust: [stable, beta, nightly]
|
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: ${{ matrix.rust }}
|
|
override: true
|
|
components: rustfmt, clippy
|
|
|
|
# main repo
|
|
- uses: actions-rs/cargo@v1
|
|
with:
|
|
command: build
|
|
args: --all
|
|
|
|
# validator API
|
|
- uses: actions-rs/cargo@v1
|
|
with:
|
|
command: build
|
|
args: --manifest-path validator-api/Cargo.toml
|
|
|
|
# main repo
|
|
- uses: actions-rs/cargo@v1
|
|
with:
|
|
command: test
|
|
args: --all
|
|
|
|
# validator API
|
|
- uses: actions-rs/cargo@v1
|
|
with:
|
|
command: test
|
|
args: --manifest-path validator-api/Cargo.toml
|
|
|
|
# main repo
|
|
- uses: actions-rs/cargo@v1
|
|
with:
|
|
command: fmt
|
|
args: --all -- --check
|
|
|
|
# validator API
|
|
- uses: actions-rs/cargo@v1
|
|
with:
|
|
command: fmt
|
|
args: --manifest-path validator-api/Cargo.toml -- --check
|
|
|
|
# main repo
|
|
- uses: actions-rs/cargo@v1
|
|
if: ${{ matrix.rust != 'nightly' }}
|
|
with:
|
|
command: clippy
|
|
args: -- -D warnings
|
|
|
|
# validator API
|
|
- uses: actions-rs/cargo@v1
|
|
if: ${{ matrix.rust != 'nightly' }}
|
|
with:
|
|
command: clippy
|
|
args: --manifest-path validator-api/Cargo.toml -- -D warnings |