Update dependency: kmultiversx/src/kmultiversx/kdist/plugin #1223
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
name: 'Run Tests' | |
on: | |
pull_request: | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
version-bump: | |
name: 'Version Bump' | |
runs-on: [self-hosted, linux, flyweight-ephemeral] | |
steps: | |
- name: 'Check out code' | |
uses: actions/checkout@v3 | |
with: | |
token: ${{ secrets.JENKINS_GITHUB_PAT }} | |
# fetch-depth 0 means deep clone the repo | |
fetch-depth: 0 | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: 'Configure GitHub user' | |
run: | | |
git config user.name devops | |
git config user.email devops@runtimeverification.com | |
- name: 'Update version' | |
run: | | |
og_version=$(git show origin/${GITHUB_BASE_REF}:package/version) | |
./package/version.sh bump ${og_version} | |
./package/version.sh sub | |
new_version=$(cat package/version) | |
git add --update && git commit --message "Set Version: ${new_version}" || true | |
- name: 'Push updates' | |
run: git push origin HEAD:${GITHUB_HEAD_REF} | |
python-code-quality-checks: | |
name: 'Code Quality Checks' | |
runs-on: ubuntu-latest | |
steps: | |
- name: 'Check out code' | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: 'Install Poetry' | |
uses: Gr1N/setup-poetry@v8 | |
- name: 'Build kmultiversx' | |
run: make kmultiversx | |
- name: 'Run code quality checks' | |
run: make -C kmultiversx check | |
tests: | |
runs-on: [self-hosted, linux, normal] | |
name: 'Tests' | |
timeout-minutes: 45 | |
steps: | |
- name: 'Check out code' | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: 'Set up Docker' | |
uses: ./.github/actions/with-docker | |
with: | |
container-name: elrond-semantics-ci-${{ github.sha }} | |
- name: 'Build kmultiversx' | |
run: docker exec -t elrond-semantics-ci-${GITHUB_SHA} make kmultiversx | |
- name: 'Build K definitions' | |
run: docker exec -t elrond-semantics-ci-${GITHUB_SHA} make build-all | |
- name: 'KMultiversX Tests' | |
run: docker exec -t elrond-semantics-ci-${GITHUB_SHA} make -C kmultiversx test | |
- name: 'Simple Tests' | |
run: docker exec -t elrond-semantics-ci-${GITHUB_SHA} make test-simple -j6 | |
- name: 'Mandos Tests' | |
run: docker exec -t elrond-semantics-ci-${GITHUB_SHA} make mandos-test -j6 | |
- name: 'TestApi tests' | |
run: docker exec -t elrond-semantics-ci-${GITHUB_SHA} make test-testapi | |
- name: 'Contract Test: Adder' | |
run: docker exec -t elrond-semantics-ci-${GITHUB_SHA} make test-elrond-adder | |
- name: 'Contract Test: Crowdfunding ESDT' | |
run: docker exec -t elrond-semantics-ci-${GITHUB_SHA} make test-elrond-crowdfunding-esdt | |
- name: 'Contract Test: Multisig' | |
run: docker exec -t elrond-semantics-ci-${GITHUB_SHA} make test-elrond-multisig | |
- name: 'Contract Test: NFT Minter' | |
run: docker exec -t elrond-semantics-ci-${GITHUB_SHA} make test-elrond-nft-minter | |
- name: 'Contract Tests: Custom' | |
run: docker exec -t elrond-semantics-ci-${GITHUB_SHA} make test-custom-contracts | |
- name: 'Tear down Docker' | |
if: always() | |
run: | | |
docker stop --time=0 elrond-semantics-ci-${GITHUB_SHA} | |
feature-tests: | |
runs-on: [self-hosted, linux, normal] | |
name: 'Feature Tests' | |
timeout-minutes: 45 | |
steps: | |
- name: 'Check out code' | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: 'Set up Docker' | |
uses: ./.github/actions/with-docker | |
with: | |
container-name: elrond-semantics-ci-${{ github.sha }} | |
- name: 'Build kmultiversx' | |
run: docker exec -t elrond-semantics-ci-${GITHUB_SHA} make kmultiversx | |
- name: 'Build K definition' | |
run: docker exec -t elrond-semantics-ci-${GITHUB_SHA} make build | |
- name: 'Feature Test: Basic' | |
run: docker exec -t elrond-semantics-ci-${GITHUB_SHA} make test-elrond-basic-features -j6 | |
- name: 'Feature Test: Alloc' | |
run: docker exec -t elrond-semantics-ci-${GITHUB_SHA} make test-elrond-alloc-features -j6 | |
- name: 'Feature Test: Composability' | |
run: docker exec -t elrond-semantics-ci-${GITHUB_SHA} make test-elrond-composability-features -j6 | |
- name: 'Tear down Docker' | |
if: always() | |
run: | | |
docker stop --time=0 elrond-semantics-ci-${GITHUB_SHA} | |
nix: | |
name: 'Build using Nix' | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- runner: normal | |
- runner: ARM64 | |
runs-on: ${{ matrix.runner }} | |
timeout-minutes: 60 | |
steps: | |
- name: 'Check out code' | |
uses: actions/checkout@v3 | |
with: | |
# Check out pull request HEAD instead of merge commit. | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: 'Build KMultiversX' | |
run: GC_DONT_GC=1 nix build .#kmultiversx --extra-experimental-features 'nix-command flakes' --print-build-logs |