Skip to content

Commit

Permalink
Merge pull request #1508 from multiversx/unified-merge-master
Browse files Browse the repository at this point in the history
Merge `master` -> `feat/unified`
  • Loading branch information
andrei-marinica authored Mar 26, 2024
2 parents b409f1f + 45a41e1 commit 5603c27
Show file tree
Hide file tree
Showing 367 changed files with 1,552 additions and 1,352 deletions.
155 changes: 15 additions & 140 deletions .github/workflows/actions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,112 +12,15 @@ permissions:
pull-requests: write

jobs:
wasm_test:
name: Wasm tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Install rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly-2023-12-11
target: wasm32-unknown-unknown

- name: Install prerequisites
run: |
pipx install multiversx-sdk-cli==v9.3.1
cargo install wasm-opt
cargo install twiggy
cargo install --path framework/meta
sc-meta install mx-scenario-go --tag v2.1.0-alpha
which mxpy
which wasm-opt
which mx-scenario-go
- name: Build the wasm contracts
env:
RUSTFLAGS: ""
run: sc-meta all build --no-imports --target-dir $(pwd)/target --path .

- name: Run the wasm tests
env:
RUSTFLAGS: ""
run: cargo test --features multiversx-sc-scenario/run-go-tests

- name: Generate the contract report
env:
RUSTFLAGS: ""
run: |
sc-meta all build-dbg --twiggy-paths --target-dir $(pwd)/target --path .
mxpy contract report --skip-build --skip-twiggy --output-format json --output-file report.json
- name: Upload the report json
uses: actions/upload-artifact@v3
with:
name: report
path: report.json

- name: Download the base report
uses: dawidd6/action-download-artifact@v2
if: github.event_name == 'pull_request'
continue-on-error: true
with:
workflow: actions.yml
name: report
commit: ${{ github.event.pull_request.base.sha }}
path: base-report

- name: Generate the report template
if: github.event_name == 'pull_request'
run: |
echo "Contract comparison - from {{ .base }} to {{ .head }}" > report.md
if [ ! -f base-report/report.json ]
then
echo ":warning: Warning: Could not download the report for the base branch. Displaying only the report for the current branch. :warning:" >> report.md
mxpy contract report --compare report.json --output-format github-markdown --output-file report-table.md
else
mxpy contract report --compare base-report/report.json report.json --output-format github-markdown --output-file report-table.md
fi
cat report-table.md >> report.md
- name: Render the report from the template
id: template
uses: chuhlomin/render-template@v1
if: github.event_name == 'pull_request'
with:
template: report.md
vars: |
base: ${{ github.event.pull_request.base.sha }}
head: ${{ github.event.pull_request.head.sha }}
- name: Upload the report markdown
uses: actions/upload-artifact@v3
if: github.event_name == 'pull_request'
with:
name: report-markdown
path: report.md

- name: Find the comment containing the report
id: fc
uses: peter-evans/find-comment@v2
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository
with:
issue-number: ${{ github.event.pull_request.number }}
comment-author: "github-actions[bot]"
body-includes: "Contract comparison"

- name: Create or update the report comment
uses: peter-evans/create-or-update-comment@v2
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body: ${{ steps.template.outputs.result }}
edit-mode: replace
contracts:
name: Contracts
uses: multiversx/mx-sc-actions/.github/workflows/[email protected]
with:
rust-toolchain: nightly-2023-12-11
path-to-sc-meta: framework/meta
mx-scenario-go-version: v2.1.0-alpha
secrets:
token: ${{ secrets.GITHUB_TOKEN }}

test_coverage:
name: Test Coverage
Expand All @@ -137,14 +40,16 @@ jobs:
echo $(dirname $(find ~/.rustup -name llvm-cov))
# which llvm-cov
# which llvm-profdata
- name: Run tests and generate report
env:
RUSTFLAGS: ""
run: |
./tests-coverage.sh
cargo run --bin sc-meta test-coverage \
--ignore-filename-regex='meta/src' \
--ignore-filename-regex='wasm-adapter' \
--ignore-filename-regex='benchmarks/' \
--ignore-filename-regex='tests/' \
--output ./coverage.md
- name: Upload the report
uses: actions/upload-artifact@v3
Expand All @@ -169,33 +74,3 @@ jobs:
issue-number: ${{ github.event.pull_request.number }}
body-file: ./coverage.md
edit-mode: replace

rust_test:
name: Rust tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly-2023-12-11

- name: Run the rust tests
env:
RUSTFLAGS: ""
run: cargo test

clippy_check:
name: Clippy linter check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly-2023-12-11
components: clippy
- uses: giraffate/clippy-action@v1
env:
RUSTFLAGS: ""
with:
github_token: ${{ github.token }}
clippy_flags: --all-targets --all-features
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,11 @@ sdk/**/Cargo.lock
tools/**/Cargo.lock
vm/**/Cargo.lock

# Profiler outputs
# Coverage outputs
*.profraw
*.profdata
*.coverage
coverage.md

# These are backup files generated by rustfmt
**/*.rs.bk
Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ They are:
- `multiversx-chain-scenario-format`, in short `scenario-format`, scenario JSON serializer/deserializer, 1 crate.
- `multiversx-sdk`, in short `sdk`, allows communication with the chain(s), 1 crate.

## [sc 0.47.8] - 2024-03-22
- Test coverage functionality in sc-meta.
- Removed deprecation from legacy whitebox testing framework, since it is still used extensively.

## [sc 0.47.7] - 2024-03-15
- Template bugfix (concerning the interactor).
Expand Down
Loading

0 comments on commit 5603c27

Please sign in to comment.