Publish fhEVM Solidity core contracts #14
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: Publish fhEVM Solidity core contracts | |
on: | |
workflow_dispatch: | |
inputs: | |
release: | |
description: "Set to true for release tagging" | |
required: false | |
default: false | |
jobs: | |
publish: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./contracts | |
permissions: | |
contents: read | |
id-token: write | |
packages: write | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
- name: Set up Node.js | |
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 | |
with: | |
node-version: 20.x | |
- name: Prepare environment file | |
run: cp .env.example.deployment .env | |
- name: Install dependencies | |
run: npm ci --include=optional | |
- name: Compile contracts | |
run: npm run compile | |
- name: Compile decryption oracle | |
run: npm run compile:decryptionOracle | |
- name: Publish prerelease to npm | |
if: ${{ inputs.release != 'true' }} | |
uses: JS-DevTools/npm-publish@19c28f1ef146469e409470805ea4279d47c3d35c # v3.1.1 | |
with: | |
package: ./contracts/package.json | |
tag: prerelease | |
token: ${{ secrets.NPM_TOKEN }} | |
provenance: true | |
- name: Publish release to npm | |
if: ${{ inputs.release == 'true' }} | |
uses: JS-DevTools/npm-publish@19c28f1ef146469e409470805ea4279d47c3d35c # v3.1.1 | |
with: | |
package: ./contracts/package.json | |
token: ${{ secrets.NPM_TOKEN }} | |
provenance: true |