{"id":31619374,"url":"https://github.com/multiversx/mx-sc-actions","last_synced_at":"2026-02-18T13:06:27.121Z","repository":{"id":39970592,"uuid":"428316927","full_name":"multiversx/mx-sc-actions","owner":"multiversx","description":"Github actions for smart contracts","archived":false,"fork":false,"pushed_at":"2026-01-23T13:07:28.000Z","size":266,"stargazers_count":5,"open_issues_count":5,"forks_count":7,"subscribers_count":10,"default_branch":"main","last_synced_at":"2026-02-13T20:04:48.914Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/multiversx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-11-15T15:24:24.000Z","updated_at":"2026-02-13T18:43:52.000Z","dependencies_parsed_at":"2022-09-18T11:02:09.811Z","dependency_job_id":"c8ab6ad9-4a06-406b-8036-d8497dff68f6","html_url":"https://github.com/multiversx/mx-sc-actions","commit_stats":null,"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/multiversx/mx-sc-actions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiversx%2Fmx-sc-actions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiversx%2Fmx-sc-actions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiversx%2Fmx-sc-actions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiversx%2Fmx-sc-actions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/multiversx","download_url":"https://codeload.github.com/multiversx/mx-sc-actions/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiversx%2Fmx-sc-actions/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29580699,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T08:38:15.585Z","status":"ssl_error","status_checked_at":"2026-02-18T08:38:14.917Z","response_time":162,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-06T14:05:38.581Z","updated_at":"2026-02-18T13:06:22.110Z","avatar_url":"https://github.com/multiversx.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Github Actions for smart contracts\n\nA Github Action for smart contracts which:\n- builds the wasm files\n- runs both the rust and go testing scenarios\n- does a clippy check\n- provides a report containing details about the smart contracts\n\n## Usage of `contracts.yml`\n\n### Standard build\n\nCreate a new file under `.github/workflows/actions.yml` with the following contents:\n```yml\nname: CI\n\non:\n  push:\n    branches:\n      - main\n  pull_request:\n\npermissions:\n  checks: write\n  pull-requests: write\n\njobs:\n  contracts:\n    name: Contracts\n    uses: multiversx/mx-sc-actions/.github/workflows/contracts.yml@vMajor.Minor.Patch\n    with:\n      rust-toolchain: nightly-2023-12-11\n    secrets:\n      token: ${{ secrets.GITHUB_TOKEN }}\n```\n\nPreferably use the latest version available from here: https://github.com/multiversx/mx-sc-actions/releases.\n\nThis uses a fixed version of rust.\nSee [contracts.yml](.github/workflows/contracts.yml) for more details on which other arguments are supported.\n\n### Main branch notes\n\nWhen using the action, pay attention to the branch naming under the push event and use either `main` or `master` accordingly. Using the wrong main branch name will cause the github actions build to be skipped, without displaying an error message.\n\n### Using more than one base branch\n\nAs an alternative, when more than one branch is used as a base branch for pull requests, the following can be used instead:\n```yml\non:\n  push:\n  pull_request:\n```\nNote, however, that this runs the build multiple times for each commit.\n\n### Private repositories permissions\n\nFor private repositories, read-only `contents` access has to be granted as well, so the permissions would be:\n```yml\npermissions:\n  checks: write\n  contents: read\n  pull-requests: write\n```\n\n## Additional options\n\n## Usage of `reproducible-build.yml`\n\nSee [reproducible-build.yml](.github/workflows/reproducible-build.yml).\n\n## Configuration entries\n\nThe following configuration entries are available:\n\n - `image_tag`: the desired Docker image tag to be used for the reproducible contract build. The available tags are listed [here](https://hub.docker.com/r/multiversx/sdk-rust-contract-builder/tags).\n - `project_path`: the path to the project (workspace) containing the contracts to build. If not specified, the repository folder is used.\n - `contract_name`: a specific contract to be built. If not specified, all contracts in the workspace (repository) are built.\n - `create_release`: whether to create a new release (and upload the build artifacts as assets).\n - `attach_to_existing_release`: whether to upload the build artifacts on an existing release. This only works if the current `github.ref_name` (of the executing workflow) is associated with an existing release.\n\nNote that `create_release` and `attach_to_existing_release` are mutually exclusive.\n\n## Creating a release from scratch\n\nAt times, you might want to create a release directly from a Github Workflow. In order to do so, follow this example:\n\n```\nname: Create release, build contracts, upload assets\n\non:\n  workflow_dispatch:\n\npermissions:\n  contents: write\n\njobs:\n  build:\n    uses: multiversx/mx-sc-actions/.github/workflows/reproducible-build.yml@v2.2.1\n    with:\n      image_tag: v1.2.3 # this is an example; see above\n      create_release: true\n```\n\n### Building on an existing release\n\nIn order to configure your workflow for building the contracts and uploading the output on a newly created (published) release, do as follows:\n\n```\nname: On new release, build contracts, upload assets\n\npermissions:\n  contents: write\n\non:\n  release:\n    types: [published]\n\njobs:\n  build:\n    uses: multiversx/mx-sc-actions/.github/workflows/reproducible-build.yml@v2.2.1\n    with:\n      image_tag: v1.2.3 # this is an example; see above\n      attach_to_release: true\n```\n\n### Running reproducible builds on pull requests\n\nIn order to run the reproducible builds on a pull request, without creating or editing a GitHub release, do as follows:\n\n```\nname: Build contracts\n\non:\n  pull_request:\n\npermissions:\n  contents: write\n\njobs:\n  build:\n    uses: multiversx/mx-sc-actions/.github/workflows/reproducible-build.yml@v2.2.1\n    with:\n      image_tag: v1.2.3 # this is an example; see above\n```\n\nOnce the workflow finishes, the build artifacts will be found as workflow artifacts.\n\nNow, let's select a single contract to be built:\n\n```\nname: Build contracts\n\non:\n  pull_request:\n\npermissions:\n  contents: write\n\njobs:\n  build:\n    uses: multiversx/mx-sc-actions/.github/workflows/reproducible-build.yml@v2.2.1\n    with:\n      image_tag: v1.2.3 # this is an example; see above\n      contract_name: adder\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultiversx%2Fmx-sc-actions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmultiversx%2Fmx-sc-actions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultiversx%2Fmx-sc-actions/lists"}