mirror of
https://github.com/NLnetLabs/krill.git
synced 2026-09-07 10:07:40 +02:00
70 lines
2.1 KiB
YAML
70 lines
2.1 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 no features, default features ("") and all except UI tests.
|
|
# Order: fewest features to most features.
|
|
args: ["--no-default-features", "", "--features all-except-ui-tests"]
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v2
|
|
- 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/
|
|
if-no-files-found: ignore
|