Merge branch 'main' into chore/remove-out-dir #33
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: Export Interfaces And Contracts | |
on: [push] | |
jobs: | |
export: | |
name: Generate Interfaces And Contracts | |
# Remove the following line if you wish to export your Solidity contracts and interfaces and publish them to NPM | |
if: false | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
export_type: ["interfaces", "contracts"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
registry-url: "https://registry.npmjs.org" | |
- name: Install dependencies | |
run: yarn --frozen-lockfile | |
- name: Build project and generate out directory | |
run: yarn build | |
- name: Update version | |
run: yarn version --new-version "0.0.0-${GITHUB_SHA::8}" --no-git-tag-version | |
- name: Export Solidity - ${{ matrix.export_type }} | |
uses: defi-wonderland/[email protected] | |
with: | |
# Update package_name with your package name | |
package_name: "my-cool-project" | |
out: "out" | |
interfaces: "solidity/interfaces" | |
contracts: "solidity/contracts" | |
export_type: "${{ matrix.export_type }}" | |
- name: Publish to NPM - ${{ matrix.export_type }} | |
# Update `my-cool-project` with your package name | |
run: cd export/my-cool-project-${{ matrix.export_type }} && npm publish --access public | |
env: | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} |