fix(app): Bump dependencies (testcontainers & prepare for Rust Edition 2024, remove MongoDB) #127
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
name: test | |
on: | |
pull_request: | |
branches: | |
- master | |
- beta | |
- alpha | |
- development | |
permissions: | |
issues: write | |
pull-requests: write | |
jobs: | |
app-unit-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Set up Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
- name: Run cargo fmt --check | |
id: fmt | |
working-directory: ./clearing-house-app | |
continue-on-error: true | |
run: | | |
cargo fmt --check --message-format human >> cargo_fmt_output.txt || true | |
echo "text<<EOF" >> $GITHUB_OUTPUT | |
cat cargo_fmt_output.txt >> $GITHUB_OUTPUT | |
echo "EOF" >> $GITHUB_OUTPUT | |
- name: Run cargo clippy | |
id: clippy | |
working-directory: ./clearing-house-app | |
continue-on-error: true | |
run: | | |
cargo clippy >> cargo_clippy_output.txt || true | |
echo "text<<EOF" >> $GITHUB_OUTPUT | |
cat cargo_clippy_output.txt >> $GITHUB_OUTPUT | |
echo "EOF" >> $GITHUB_OUTPUT | |
- name: Build | |
id: build | |
working-directory: ./clearing-house-app | |
continue-on-error: true | |
run: | | |
cargo build >> cargo_build_output.txt || true | |
echo "text<<EOF" >> $GITHUB_OUTPUT | |
cat cargo_build_output.txt >> $GITHUB_OUTPUT | |
echo "EOF" >> $GITHUB_OUTPUT | |
- name: Test | |
id: test | |
working-directory: ./clearing-house-app | |
continue-on-error: true | |
run: | | |
cargo test >> cargo_test_output.txt || true | |
echo "text<<EOF" >> $GITHUB_OUTPUT | |
cat cargo_test_output.txt >> $GITHUB_OUTPUT | |
echo "EOF" >> $GITHUB_OUTPUT | |
- name: Post results to PR | |
uses: actions/github-script@v7 | |
if: always() | |
with: | |
script: | | |
let fmtOutput = `\`\`\` | |
${{ steps.fmt.outputs.text }} | |
\`\`\``.trim(); | |
if (fmtOutput == "```\n\n```") { | |
fmtOutput = "_No formatter warnings_"; | |
} | |
let clippyOutput = `\`\`\` | |
${{ steps.clippy.outputs.text }} | |
\`\`\``.trim(); | |
if (clippyOutput == "```\n\n```") { | |
clippyOutput = "_No linter warnings_"; | |
} | |
let buildOutput = `<details><summary>Build log:</summary> | |
\`\`\` | |
${{ steps.build.outputs.text }} | |
\`\`\` | |
</details>`.trim(); | |
if (buildOutput.length <= 58) { | |
buildOutput = "_No build output_"; | |
} | |
let testOutput = `<details><summary>Test log:</summary> | |
\`\`\` | |
${{ steps.test.outputs.text }} | |
\`\`\` | |
</details>`.trim(); | |
if (testOutput.length <= 57) { | |
testOutput = "_No test output_"; | |
} | |
const body = `# Clearinghouse App Build report | |
## Formatter report ("cargo fmt --check"): | |
${fmtOutput} | |
## Linter report ("cargo clippy"): | |
${clippyOutput} | |
## Build log | |
${buildOutput} | |
## Test log | |
${testOutput} | |
`; | |
github.rest.issues.createComment({ | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
body: body | |
}); | |
edc-unit-tests: | |
runs-on: ubuntu-latest | |
permissions: | |
pull-requests: write | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Setup JDK 17 | |
uses: actions/setup-java@v2 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Build Project | |
run: | | |
cd clearing-house-edc | |
./gradlew clean build \ | |
-Dorg.gradle.project.gitHubUserName=${{ github.actor }} \ | |
-Dorg.gradle.project.gitHubUserPassword=${{ secrets.GITHUB_TOKEN }} | |
- name: Run Unit Tests | |
run: | | |
cd clearing-house-edc | |
./gradlew test jacocoTestReport | |
- name: Add Coverage Report | |
id: jacoco | |
uses: madrapps/jacoco-report@v1.6.1 | |
with: | |
paths: | | |
${{ github.workspace }}/clearing-house-edc/core/build/reports/jacoco/test/jacocoTestReport.xml, | |
${{ github.workspace }}clearing-house-edc/extensions/multipart/build/reports/jacoco/test/jacocoTestReport.xml | |
token: ${{ secrets.GITHUB_TOKEN }} | |
min-coverage-overall: 70 | |
min-coverage-changed-files: 80 |