Message Generator: fix serialization and add into_static for serde_sv2 primitives, broken unit tests, new unit test for NMJ message, #3631
Workflow file for this run
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
# Performs test coverage of project's libraries using cargo-tarpaulin and the message-generator, | |
# and generates results using codecov.io. | |
# The following flags are set inside `tarpaulin.toml`: | |
# `features = "..."`: Includes the code with the listed features. The following features result in a | |
# tarpaulin error and are NOT included: derive, alloc, arbitrary-derive, attributes, and | |
# with_serde | |
# `run-types = [ "Lib" ]`: Only tests the package's library unit tests. Includes protocols, and utils (without the | |
# exclude-files flag, it includes this example because it contains a lib.rs file) | |
# `exclude-files = [ "examples/*" ]`: Excludes all projects in examples directory (specifically added to | |
# ignore examples that that contain a lib.rs file like interop-cpp) | |
# `timeout = "120s"`: If unresponsive for 120 seconds, action will fail | |
# `fail-under = 20`: If code coverage is less than 20%, action will fail | |
# `out = ["Xml"]`: Required for codecov.io to generate coverage result | |
# All message-generator test flags are in tests in test/message-generator/test | |
# This test loops through every test in test/message-generator/test, and runs each one, collecting | |
# code coverage data for anything in the roles/ directory that is relevant to SV2(pool, mining-proxy) | |
name: Test Coverage | |
on: | |
push: | |
branches: [ main, dev ] | |
pull_request: | |
branches: [ main, dev ] | |
jobs: | |
tarpaulin-test: | |
name: Tarpaulin Test | |
runs-on: ubuntu-latest | |
container: | |
image: xd009642/tarpaulin:0.27.1-nightly | |
options: --security-opt seccomp=unconfined | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Generate code coverage | |
run: | | |
./scripts/tarpaulin.sh | |
- name: Archive Tarpaulin code coverage results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tarpaulin-report | |
path: | | |
protocols/cobertura.xml | |
roles/cobertura.xml | |
utils/cobertura.xml | |
message-generator-test: | |
needs: tarpaulin-test | |
name: MG Test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.75.0 | |
override: true | |
components: llvm-tools-preview | |
- name: Log data from rustc | |
run: rustc -Vv | |
- name: Install cargo-llvm-cov | |
uses: taiki-e/install-action@cargo-llvm-cov | |
- name: Run bad-pool-config-test | |
run: sh ./test/message-generator/test/bad-pool-config-test/bad-pool-config-test.sh | |
- name: Run interop-jd-translator | |
run: sh ./test/message-generator/test/interop-jd-translator/interop-jd-translator.sh | |
#- name: Run interop-jdc-change-upstream | |
# run: sh ./test/message-generator/test/interop-jdc-change-upstream/interop-jdc-change-upstream.sh | |
- name: Run interop-proxy-with-multi-ups | |
run: sh ./test/message-generator/test/interop-proxy-with-multi-ups/interop-proxy-with-multi-ups.sh | |
- name: Run interop-proxy-with-multi-ups-extended | |
run: sh ./test/message-generator/test/interop-proxy-with-multi-ups-extended/interop-proxy-with-multi-ups-extended.sh | |
- name: Run jds-do-not-fail-on-wrong-tsdatasucc | |
run: sh ./test/message-generator/test/jds-do-not-fail-on-wrong-tsdatasucc/jds-do-not-fail-on-wrong-tsdatasucc.sh | |
- name: Run jds-do-not-panic-if-jdc-close-connection | |
run: sh ./test/message-generator/test/jds-do-not-panic-if-jdc-close-connection/jds-do-not-panic-if-jdc-close-connection.sh | |
- name: Run jds-do-not-stackoverflow-when-no-token | |
run: sh ./test/message-generator/test/jds-do-not-stackoverflow-when-no-token/jds-do-not-stackoverflow-when-no-token.sh | |
- name: Run pool-sri-test-1-standard | |
run: sh ./test/message-generator/test/pool-sri-test-1-standard/pool-sri-test-1-standard.sh | |
- name: Run pool-sri-test-close-channel | |
run: sh ./test/message-generator/test/pool-sri-test-close-channel/pool-sri-test-close-channel.sh | |
- name: Run pool-sri-test-extended_0 | |
run: sh ./test/message-generator/test/pool-sri-test-extended_0/pool-sri-test-extended_0.sh | |
- name: Run pool-sri-test-extended_1 | |
run: sh ./test/message-generator/test/pool-sri-test-extended_1/pool-sri-test-extended_1.sh | |
- name: Run pool-sri-test-reject-auth | |
run: sh ./test/message-generator/test/pool-sri-test-reject-auth/pool-sri-test-reject-auth.sh | |
- name: Run standard-coverage | |
run: sh ./test/message-generator/test/standard-coverage-test/standard-coverage-test.sh | |
- name: Run sv1-test | |
run: sh ./test/message-generator/test/sv1-test/sv1-test.sh | |
- name: Run translation-proxy-broke-pool | |
run: sh ./test/message-generator/test/translation-proxy-broke-pool/translation-proxy-broke-pool.sh | |
- name: Run translation-proxy | |
run: sh ./test/message-generator/test/translation-proxy/translation-proxy.sh | |
- name: Run translation-proxy-old-share | |
run: sh ./test/message-generator/test/translation-proxy-old-share/translation-proxy-old-share.sh | |
- name: Coverage report | |
run: sh ./scripts/code-coverage-report.sh | |
- name: Archive MG code coverage results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-report | |
path: 'target/*.xml' | |
- name: Archive log files | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: logs | |
path: './utils/message-generator/*.log' | |
# codecov: | |
# needs: message-generator-test | |
# name: Codecov Upload | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout repository | |
# uses: actions/checkout@v4 | |
# - name: Download all workflow run artifacts | |
# uses: actions/download-artifact@v4 | |
# - name: Display structure of downloaded files | |
# run: ls -R | |
# - name: Upload to codecov.io | |
# uses: codecov/codecov-action@v3 | |
# with: | |
# files: coverage-report/*.xml, tarpaulin-report/*.xml | |
# fail_ci_if_error: true | |
# token: ${{ secrets.CODECOV_TOKEN }} |