Files
NLnetLabs-krill/.github/workflows/ci.yml
T
Tim BruijnzeelsandGitHub 8be620b606 Update dependencies: rpki-rs, bytes, tokio, hyper, reqwest (#584)
* Update dependencies: rpki-rs, and therefore bytes, tokio, hyper, reqwest
* Rust 1.51 clippy
* Update minimal rust version to 1.47
    socket2 requires improved const fn support.
    exponential compile-time and type_length_limit and async in 1.46.

See PR #586
2021-07-02 10:20:24 +02:00

71 lines
2.2 KiB
YAML

name: CI
on:
# permit manual invocation of the workflow via the GitHub Actions web UI
workflow_dispatch:
# run the tests for any direct push to main
push:
branches: ['main']
paths-ignore:
- '.dockerignore'
- '.github/workflow/e2e.yml'
- '.github/workflow/pkg.yml'
- '.github/workflow/e2e test cache rebuild.yml'
- 'Changelog.md'
- 'Dockerfile'
- 'doc/**'
- 'docker/**'
- 'LICENSE'
- 'README.md'
- 'tests/e2e/**'
# run the tests on creation or update of any pull request
pull_request:
paths-ignore:
- '.dockerignore'
- '.github/workflow/e2e.yml'
- '.github/workflow/pkg.yml'
- '.github/workflow/e2e test cache rebuild.yml'
- 'Changelog.md'
- 'Dockerfile'
- 'doc/**'
- 'docker/**'
- 'LICENSE'
- 'README.md'
- 'tests/e2e/**'
jobs:
build:
name: build
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
# Test against Rust 1.47.0 because in build.rs we say that is the oldest supported version.
# Test against beta Rust to get early warning of any problems that might occur with the upcoming Rust release.
# Order: oldest Rust to newest Rust.
rust: [1.47.0, stable, beta]
# Test with default features, all features and no features.
# Note: "functional-tests,ui-tests" builds the same Krill as "" because these features only enable more types
# of test, they don't change the compilation of Krill itself.
# Order: fewest features to most features.
args: ["--no-default-features", "--features functional-tests,ui-tests", "--all-features"]
steps:
- name: Checkout repository
uses: actions/checkout@v1
- name: Install Rust
uses: hecrj/setup-rust-action@v1
with:
rust-version: ${{ matrix.rust }}
- run: cargo build --verbose ${{ matrix.args }} --locked
- run: cargo test --verbose ${{ matrix.args }} -- --test-threads=1 2>&1
- name: Archive Cypress UI test image & video captures
if: ${{ always() }}
uses: actions/upload-artifact@v2
with:
name: cypress-ui-test-captures ${{ matrix.os }} ${{ matrix.rust }}
path: target/ui/