Skip to content

Feature/8 add ntp server config #126

Feature/8 add ntp server config

Feature/8 add ntp server config #126

Workflow file for this run

name: Continuous Integration
on:
push:
branches: [ "master" ]
tags:
- 'v*' # Trigger for any tag starting with 'v'
pull_request:
branches: [ "master" ]
env:
CARGO_TERM_COLOR: always
jobs:
check:
name: Check
runs-on: ubuntu-22.04
steps:
- name: Install toolchain
uses: dtolnay/rust-toolchain@stable
- name: Checkout
uses: actions/checkout@v4
- name: Check
uses: actions-rs/cargo@v1
with:
command: check
args: --locked --verbose
- name: Check without default features
uses: actions-rs/cargo@v1
with:
command: check
args: --locked --no-default-features --verbose
typos:
name: Typos
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Check typos
uses: crate-ci/typos@master
test:
name: Test
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
- name: Run tests end to end
run: make test_end_to_end
env:
RUST_BACKTRACE: 'full'
CARGO_INCREMENTAL: '0'
RUSTFLAGS: '-Zprofile -Cinstrument-coverage -Ccodegen-units=1 -Copt-level=0 -Cllvm-args=--inline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'
RUSTDOCFLAGS: '-Zprofile -Cinstrument-coverage -Ccodegen-units=1 -Copt-level=0 -Cllvm-args=--inline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'
- name: Run tests
run: make test
env:
RUST_BACKTRACE: 'full'
CARGO_INCREMENTAL: '0'
RUSTFLAGS: '-Zprofile -Cinstrument-coverage -Ccodegen-units=1 -Copt-level=0 -Cllvm-args=--inline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'
RUSTDOCFLAGS: '-Zprofile -Cinstrument-coverage -Ccodegen-units=1 -Copt-level=0 -Cllvm-args=--inline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'
- name: rust-grcov
uses: actions-rs/[email protected]
- name: Codecov
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
verbose: true
fail_ci_if_error: true
clippy:
name: Lints
runs-on: ubuntu-22.04
steps:
- name: Install toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: clippy
- name: Checkout
uses: actions/checkout@v4
- name: Check the lints
uses: actions-rs/cargo@v1
with:
command: clippy
args: --tests --verbose -- -D warnings
rustfmt:
name: Formatting
runs-on: ubuntu-22.04
steps:
- name: Install toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: Checkout
uses: actions/checkout@v4
- name: Check the formatting
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check --verbose
release:
name: Create Release
runs-on: ubuntu-22.04
needs: test
if: startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/checkout@v4
- name: Extract Tag Name
id: extract_tag
run: echo "TAG_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
- name: Build Release Files
run: make release
- name: Publish Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
body: "see https://github.com/beac0n/ruroco/blob/master/CHANGELOG.md"
tag_name: ${{ github.ref }}
release_name: Release ${{ env.TAG_NAME }}
draft: false
prerelease: false
- name: Upload Release Asset - Client
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: target/release/client
asset_name: client-${{ env.TAG_NAME }}-x86_64-linux
asset_content_type: application/octet-stream
- name: Upload Release Asset - Commander
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: target/release/commander
asset_name: commander-${{ env.TAG_NAME }}-x86_64-linux
asset_content_type: application/octet-stream
- name: Upload Release Asset - Server
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: target/release/server
asset_name: server-${{ env.TAG_NAME }}-x86_64-linux
asset_content_type: application/octet-stream