Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge origin/rc/v5.51, solved conflicts, migrated managed decimal tes… #1662

Merged
merged 2 commits into from
May 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
25 changes: 25 additions & 0 deletions .github/workflows/actions-nightly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: CI

on:
push:
branches:
- master
pull_request:
workflow_dispatch:

permissions:
checks: write
pull-requests: write

jobs:
contracts:
name: Contracts (nightly)
uses: multiversx/mx-sc-actions/.github/workflows/[email protected]
with:
rust-toolchain: nightly-2024-05-22
path-to-sc-meta: framework/meta
enable-contracts-size-report: false
mx-scenario-go-version: v2.1.0-alpha
coverage-args: --ignore-filename-regex='meta/src' --ignore-filename-regex='wasm-adapter' --ignore-filename-regex='benchmarks/' --ignore-filename-regex='tests/' --output ./coverage.md
secrets:
token: ${{ secrets.GITHUB_TOKEN }}
197 changes: 10 additions & 187 deletions .github/workflows/actions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,190 +12,13 @@ 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

test_coverage:
name: Test Coverage
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

- name: Install prerequisites
run: |
rustup component add llvm-tools-preview
dirname $(find ~/.rustup -name llvm-cov) >> $GITHUB_PATH

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

- name: Upload the report
uses: actions/upload-artifact@v3
with:
name: coverage
path: coverage.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: "Coverage Summary"

- 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-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
contracts:
name: Contracts
uses: multiversx/mx-sc-actions/.github/workflows/[email protected]
with:
rust-toolchain: stable
path-to-sc-meta: framework/meta
mx-scenario-go-version: v2.1.0-alpha
coverage-args: --ignore-filename-regex='meta/src' --ignore-filename-regex='wasm-adapter' --ignore-filename-regex='benchmarks/' --ignore-filename-regex='tests/' --output ./coverage.md
secrets:
token: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/lldb-formatter-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
default: true
toolchain: nightly-2023-12-11
toolchain: stable

- name: Download vscode-lldb
uses: robinraju/[email protected]
Expand Down
31 changes: 31 additions & 0 deletions .github/workflows/proxy-compare.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: CI

on:
push:
branches:
- master
pull_request:

jobs:
proxy_compare:
name: Proxy compare - newly generated vs present in file tree
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Install rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
default: true
toolchain: stable
target: wasm32-unknown-unknown

- name: Install prerequisites
run: |
cargo install --path framework/meta

- name: Run proxy compare
run: |
cd contracts
sc-meta all proxy --compare
3 changes: 1 addition & 2 deletions .github/workflows/release-upload.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
default: true
toolchain: nightly-2023-12-11
toolchain: stable
target: wasm32-unknown-unknown

- name: Setup the PATH variable
Expand Down Expand Up @@ -54,4 +54,3 @@ jobs:
file: ./examples-wasm.zip
asset_name: examples-wasm.zip
overwrite: true
body: "This is my release text"
2 changes: 1 addition & 1 deletion .github/workflows/template-test-current.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
default: true
toolchain: nightly-2023-12-11
toolchain: stable
target: wasm32-unknown-unknown

- name: Install prerequisites
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/template-test-released.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
default: true
toolchain: nightly-2023-12-11
toolchain: stable
target: wasm32-unknown-unknown

- name: Install prerequisites
Expand Down
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,26 @@
# The root Cargo.lock is kept for dependabot.
contracts/**/Cargo.lock
!contracts/**/wasm*/Cargo.lock
contracts/**/output*/
data/**/Cargo.lock
framework/**/Cargo.lock
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

# VSCode config
# Editors config
.vscode
.zed
.idea

# Others
my-vm-tests.sh
Expand Down
Loading
Loading