-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Loading status checks…
Initial commit.
- Loading branch information
0 parents
commit 91053bc
Showing
89 changed files
with
10,936 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,173 @@ | ||
name: "Cargo CI/CD pipeline" | ||
on: | ||
workflow_call: | ||
inputs: | ||
TOOLCHAIN_MIN: | ||
required: false | ||
type: string | ||
default: "1.79.0" | ||
TOOLCHAIN_MAX: | ||
required: false | ||
type: string | ||
default: "1.80.1" | ||
OS_VERS_MIN: | ||
required: false | ||
type: string | ||
default: "22.04" | ||
OS_VERS_MAX: | ||
required: false | ||
type: string | ||
default: "24.04" | ||
|
||
jobs: | ||
format: | ||
name: cargo fmt | ||
runs-on: ubuntu-${{ inputs.OS_VERS_MAX }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
with: | ||
toolchain: ${{ inputs.TOOLCHAIN_MAX }} | ||
rustflags: "-D warnings" | ||
components: rustfmt | ||
- uses: actions-rust-lang/rustfmt@v1 | ||
|
||
checks: | ||
name: cargo check | ||
strategy: | ||
matrix: | ||
platform: ["${{ inputs.OS_VERS_MIN }}", "${{ inputs.OS_VERS_MAX }}"] | ||
rust: ["${{ inputs.TOOLCHAIN_MIN }}", "${{ inputs.TOOLCHAIN_MAX }}"] | ||
runs-on: ubuntu-${{ matrix.platform }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
with: | ||
toolchain: ${{ matrix.rust }} | ||
rustflags: "-D warnings" | ||
- uses: awalsh128/cache-apt-pkgs-action@v1 | ||
with: | ||
packages: libtss2-dev uuid-dev libjson-c-dev libcurl4-openssl-dev | ||
- run: cargo check | ||
|
||
tests: | ||
name: cargo test | ||
needs: [format, checks] | ||
strategy: | ||
matrix: | ||
platform: ["${{ inputs.OS_VERS_MIN }}", "${{ inputs.OS_VERS_MAX }}"] | ||
rust: ["${{ inputs.TOOLCHAIN_MIN }}", "${{ inputs.TOOLCHAIN_MAX }}"] | ||
profile: [RSA2048SHA256, ECCP256SHA256] | ||
runs-on: ubuntu-${{ matrix.platform }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
with: | ||
toolchain: ${{ matrix.rust }} | ||
rustflags: "-D warnings" | ||
- uses: awalsh128/cache-apt-pkgs-action@v1 | ||
with: | ||
packages: libtss2-dev uuid-dev libjson-c-dev libcurl4-openssl-dev | ||
- run: | | ||
make -C tools/docker/swtpm DETACH=1 | ||
RUST_LOG=info TSS2_LOG=all+none FAPI_RS_TEST_PROF=${{ matrix.profile }} cargo test --tests | ||
codecov: | ||
name: codecov | ||
needs: [format, checks] | ||
runs-on: ubuntu-${{ inputs.OS_VERS_MAX }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
with: | ||
toolchain: ${{ inputs.TOOLCHAIN_MAX }} | ||
rustflags: "-D warnings" | ||
components: llvm-tools-preview | ||
- uses: taiki-e/install-action@cargo-llvm-cov | ||
- uses: awalsh128/cache-apt-pkgs-action@v1 | ||
with: | ||
packages: libtss2-dev uuid-dev libjson-c-dev libcurl4-openssl-dev | ||
- run: | | ||
make -C tools/docker/swtpm DETACH=1 | ||
TSS2_LOG=all+none ./tools/codecov/code-coverage.sh ccov target/fapi-rs-codecov-output.json | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: code-coverage-analysis | ||
path: target/fapi-rs-codecov-output.json | ||
retention-days: 90 | ||
- uses: codecov/codecov-action@v4 | ||
with: | ||
files: target/fapi-rs-codecov-output.json | ||
verbose: true | ||
token: ${{ secrets.CODECOV_TOKEN }} | ||
|
||
build: | ||
name: cargo build | ||
needs: tests | ||
strategy: | ||
matrix: | ||
platform: ["${{ inputs.OS_VERS_MIN }}", "${{ inputs.OS_VERS_MAX }}"] | ||
rust: ["${{ inputs.TOOLCHAIN_MIN }}", "${{ inputs.TOOLCHAIN_MAX }}"] | ||
runs-on: ubuntu-${{ matrix.platform }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
with: | ||
toolchain: ${{ matrix.rust }} | ||
rustflags: "-D warnings" | ||
- uses: awalsh128/cache-apt-pkgs-action@v1 | ||
with: | ||
packages: libtss2-dev uuid-dev libjson-c-dev libcurl4-openssl-dev | ||
- run: cargo build --release | ||
- run: | | ||
printf "%s\n%s\n%s\n%s\n%s" "${GITHUB_REF}@${GITHUB_SHA}" "$(date -R)" \ | ||
"$(lsb_release -s -d)" "$(rustc --version)" \ | ||
"$(pkg-config --print-provides tss2-fapi)" > target/release/BUILD_INFO | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: tss2-fapi-rs.ubuntu-${{ matrix.platform }}.rust-${{ matrix.rust }} | ||
path: | | ||
target/release/BUILD_INFO | ||
target/release/libtss2_fapi_rs.rlib | ||
retention-days: 90 | ||
|
||
docs: | ||
name: cargo doc | ||
needs: tests | ||
runs-on: ubuntu-${{ inputs.OS_VERS_MAX }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
with: | ||
toolchain: ${{ inputs.TOOLCHAIN_MAX }} | ||
rustflags: "-D warnings" | ||
- uses: awalsh128/cache-apt-pkgs-action@v1 | ||
with: | ||
packages: libtss2-dev uuid-dev libjson-c-dev libcurl4-openssl-dev | ||
- run: cargo doc --no-deps | ||
- run: | | ||
cp -f docs/html/redir.html target/doc/index.html | ||
rm -f target/doc/.lock | ||
- uses: actions/upload-pages-artifact@v3 | ||
with: | ||
path: target/doc/ | ||
|
||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
# TODO: Re-enabled, once GitHub pages have been activated! | ||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
# deploy: | ||
# name: deploy pages | ||
# needs: docs | ||
# if: github.ref == 'refs/heads/main' | ||
# runs-on: ubuntu-${{ inputs.OS_VERS_MAX }} | ||
# permissions: | ||
# pages: write | ||
# id-token: write | ||
# environment: | ||
# name: github-pages | ||
# url: ${{ steps.deployment.outputs.page_url }} | ||
# steps: | ||
# - name: Deploy to GitHub Pages | ||
# id: deployment | ||
# uses: actions/deploy-pages@v4 | ||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
name: "Publish new release to crates.io" | ||
on: | ||
release: | ||
types: [published] | ||
|
||
jobs: | ||
cargo-ci-pipeline: | ||
name: CI | ||
uses: ./.github/workflows/cargo-ci-pipeline.yaml | ||
|
||
publish: | ||
name: cargo publish | ||
needs: cargo-ci-pipeline | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
- uses: awalsh128/cache-apt-pkgs-action@v1 | ||
with: | ||
packages: libtss2-dev uuid-dev | ||
- run: cargo publish --token ${CRATES_TOKEN} | ||
env: | ||
CRATES_TOKEN: ${{ secrets.CRATES_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
name: "Cargo CI/CD" | ||
on: | ||
push: | ||
pull_request: | ||
|
||
jobs: | ||
cargo-ci-pipeline: | ||
name: CI | ||
uses: ./.github/workflows/cargo-ci-pipeline.yaml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
/**/log | ||
/**/out | ||
/**/target/ | ||
/**/tmp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
stages: | ||
- check | ||
- build | ||
|
||
cargo check: | ||
stage: check | ||
tags: | ||
- linux-docker-x64 | ||
image: rust:latest | ||
script: | ||
- apt-get update && apt-get install -y libclang-dev libtss2-dev | ||
- cargo check | ||
|
||
cargo doc: | ||
stage: build | ||
tags: | ||
- linux-docker-x64 | ||
image: rust:latest | ||
script: | ||
- apt-get update && apt-get install -y libclang-dev libtss2-dev | ||
- cargo doc --no-deps | ||
- cp -f docs/html/redir.html target/doc/index.html | ||
artifacts: | ||
paths: | ||
- "target/doc" | ||
|
||
cargo build: | ||
stage: build | ||
tags: | ||
- linux-docker-x64 | ||
image: rust:latest | ||
script: | ||
- apt-get update && apt-get install -y libclang-dev libtss2-dev | ||
- cargo build --release | ||
artifacts: | ||
paths: | ||
- "target/release/*.rlib" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# Change Log | ||
|
||
All notable changes to this project will be documented in this file. | ||
|
||
The format is based on [Keep a Changelog](http://keepachangelog.com/). | ||
|
||
## [1.0.0] - 2024-??-?? | ||
|
||
### Added | ||
- This is the first public release of this project. |
Oops, something went wrong.