diff --git a/.github/workflows/build_matrix_includes.json b/.github/workflows/build_matrix_includes.json deleted file mode 100644 index 8d8f8297bc..0000000000 --- a/.github/workflows/build_matrix_includes.json +++ /dev/null @@ -1,19 +0,0 @@ -[ - { - "os":"ubuntu-20.04", - "rust":"stable", - "runOnEvent":"always" - }, - - { - "os":"windows-latest", - "rust":"stable", - "runOnEvent":"pull_request" - }, - - { - "os":"macos-latest", - "rust":"stable", - "runOnEvent":"pull_request" - } -] diff --git a/.github/workflows/build-and-upload-binaries-ci.yml b/.github/workflows/ci-build-upload-binaries.yml similarity index 65% rename from .github/workflows/build-and-upload-binaries-ci.yml rename to .github/workflows/ci-build-upload-binaries.yml index 26f3ccb588..c6ce279286 100644 --- a/.github/workflows/build-and-upload-binaries-ci.yml +++ b/.github/workflows/ci-build-upload-binaries.yml @@ -1,4 +1,4 @@ -name: Build and upload binaries to CI +name: ci-build-upload-binaries on: workflow_dispatch: @@ -6,7 +6,6 @@ on: paths: - 'clients/**' - 'common/**' - - 'contracts/**' - 'explorer-api/**' - 'gateway/**' - 'integrations/**' @@ -21,7 +20,6 @@ on: paths: - 'clients/**' - 'common/**' - - 'contracts/**' - 'explorer-api/**' - 'gateway/**' - 'integrations/**' @@ -62,28 +60,12 @@ jobs: - name: Install Rust stable uses: actions-rs/toolchain@v1 - with: - toolchain: 1.69.0 - name: Build all binaries uses: actions-rs/cargo@v1 with: command: build - args: --workspace --release --all - - - name: Install Rust stable - uses: actions-rs/toolchain@v1 - with: - toolchain: 1.69.0 - target: wasm32-unknown-unknown - override: true - components: rustfmt, clippy - - - name: Install wasm-opt - run: cargo install --version 0.112.0 wasm-opt - - - name: Build release contracts - run: make contracts-wasm + args: --workspace --release - name: Prepare build output shell: bash @@ -99,16 +81,6 @@ jobs: cp target/release/nym-network-statistics $OUTPUT_DIR cp target/release/nym-cli $OUTPUT_DIR cp target/release/explorer-api $OUTPUT_DIR - - cp contracts/target/wasm32-unknown-unknown/release/mixnet_contract.wasm $OUTPUT_DIR - cp contracts/target/wasm32-unknown-unknown/release/vesting_contract.wasm $OUTPUT_DIR - cp contracts/target/wasm32-unknown-unknown/release/nym_coconut_bandwidth.wasm $OUTPUT_DIR - cp contracts/target/wasm32-unknown-unknown/release/nym_coconut_dkg.wasm $OUTPUT_DIR - cp contracts/target/wasm32-unknown-unknown/release/cw3_flex_multisig.wasm $OUTPUT_DIR - cp contracts/target/wasm32-unknown-unknown/release/cw4_group.wasm $OUTPUT_DIR - cp contracts/target/wasm32-unknown-unknown/release/nym_service_provider_directory.wasm $OUTPUT_DIR - cp contracts/target/wasm32-unknown-unknown/release/nym_name_service.wasm $OUTPUT_DIR - cp contracts/target/wasm32-unknown-unknown/release/nym_ephemera.wasm $OUTPUT_DIR - name: Deploy branch to CI www continue-on-error: true diff --git a/.github/workflows/contract_matrix_includes.json b/.github/workflows/ci-contracts-matrix-includes.json similarity index 100% rename from .github/workflows/contract_matrix_includes.json rename to .github/workflows/ci-contracts-matrix-includes.json diff --git a/.github/workflows/ci-contracts-upload-binaries.yml b/.github/workflows/ci-contracts-upload-binaries.yml new file mode 100644 index 0000000000..0c05e75bae --- /dev/null +++ b/.github/workflows/ci-contracts-upload-binaries.yml @@ -0,0 +1,79 @@ +name: ci-contracts-upload-binaries + +on: + workflow_dispatch: + push: + paths: + - 'common/**' + - 'contracts/**' + pull_request: + paths: + - 'common/**' + - 'contracts/**' + +env: + NETWORK: mainnet + +jobs: + publish-nym-contracts: + strategy: + fail-fast: false + matrix: + platform: [ubuntu-20.04] + + runs-on: ${{ matrix.platform }} + steps: + - uses: actions/checkout@v3 + + - name: Prepare build output directory + shell: bash + env: + OUTPUT_DIR: ci-contract-builds/${{ github.ref_name }} + run: | + rm -rf ci-contract-builds || true + mkdir -p $OUTPUT_DIR + echo $OUTPUT_DIR + + - name: Install Dependencies (Linux) + run: sudo apt-get update && sudo apt-get -y install libwebkit2gtk-4.0-dev build-essential curl wget libssl-dev libgtk-3-dev libudev-dev squashfs-tools protobuf-compiler + continue-on-error: true + + - name: Install Rust stable + uses: actions-rs/toolchain@v1 + with: + toolchain: 1.69.0 + target: wasm32-unknown-unknown + override: true + + - name: Install wasm-opt + run: cargo install --version 0.112.0 wasm-opt + + - name: Build release contracts + run: make contracts-wasm + + - name: Prepare build output + shell: bash + env: + OUTPUT_DIR: ci-contract-builds/${{ github.ref_name }} + run: | + cp contracts/target/wasm32-unknown-unknown/release/mixnet_contract.wasm $OUTPUT_DIR + cp contracts/target/wasm32-unknown-unknown/release/vesting_contract.wasm $OUTPUT_DIR + cp contracts/target/wasm32-unknown-unknown/release/nym_coconut_bandwidth.wasm $OUTPUT_DIR + cp contracts/target/wasm32-unknown-unknown/release/nym_coconut_dkg.wasm $OUTPUT_DIR + cp contracts/target/wasm32-unknown-unknown/release/cw3_flex_multisig.wasm $OUTPUT_DIR + cp contracts/target/wasm32-unknown-unknown/release/cw4_group.wasm $OUTPUT_DIR + cp contracts/target/wasm32-unknown-unknown/release/nym_service_provider_directory.wasm $OUTPUT_DIR + cp contracts/target/wasm32-unknown-unknown/release/nym_name_service.wasm $OUTPUT_DIR + cp contracts/target/wasm32-unknown-unknown/release/nym_ephemera.wasm $OUTPUT_DIR + + - name: Deploy branch to CI www + continue-on-error: true + uses: easingthemes/ssh-deploy@main + env: + SSH_PRIVATE_KEY: ${{ secrets.CI_WWW_SSH_PRIVATE_KEY }} + ARGS: "-avzr" + SOURCE: "ci-contract-builds/" + REMOTE_HOST: ${{ secrets.CI_WWW_REMOTE_HOST }} + REMOTE_USER: ${{ secrets.CI_WWW_REMOTE_USER }} + TARGET: ${{ secrets.CI_WWW_REMOTE_TARGET }}/builds/ + EXCLUDE: "/dist/, /node_modules/" diff --git a/.github/workflows/ci-contracts.yml b/.github/workflows/ci-contracts.yml index 4c4da7c9bd..491dbdb105 100644 --- a/.github/workflows/ci-contracts.yml +++ b/.github/workflows/ci-contracts.yml @@ -16,12 +16,12 @@ jobs: outputs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - # creates the matrix strategy from build_matrix_includes.json + # creates the matrix strategy from ci-contracts-matrix-includes.json - uses: actions/checkout@v2 - id: set-matrix uses: JoshuaTheMiller/conditional-build-matrix@main with: - inputFile: '.github/workflows/contract_matrix_includes.json' + inputFile: '.github/workflows/ci-contracts-matrix-includes.json' filter: '[?runOnEvent==`${{ github.event_name }}` || runOnEvent==`always`]' build: # since it's going to be compiled into wasm, there's absolutely diff --git a/.github/workflows/network-explorer.yml b/.github/workflows/ci-nym-network-explorer.yml similarity index 99% rename from .github/workflows/network-explorer.yml rename to .github/workflows/ci-nym-network-explorer.yml index b4431b0ed4..3c7cacdba8 100644 --- a/.github/workflows/network-explorer.yml +++ b/.github/workflows/ci-nym-network-explorer.yml @@ -1,4 +1,4 @@ -name: CI for Network Explorer +name: ci-nym-network-explorer on: workflow_dispatch: diff --git a/.github/workflows/nym-wallet-storybook.yml b/.github/workflows/ci-nym-wallet-storybook.yml similarity index 100% rename from .github/workflows/nym-wallet-storybook.yml rename to .github/workflows/ci-nym-wallet-storybook.yml diff --git a/.github/workflows/check-merge-conflicts.yml b/.github/workflows/nightly-check-merge-conflicts.yml similarity index 98% rename from .github/workflows/check-merge-conflicts.yml rename to .github/workflows/nightly-check-merge-conflicts.yml index 7df37e7a9c..fe03a6eda6 100644 --- a/.github/workflows/check-merge-conflicts.yml +++ b/.github/workflows/nightly-check-merge-conflicts.yml @@ -1,4 +1,4 @@ -name: check-merge-conflicts +name: nightly-check-merge-conflicts # Check that the latest release branch merges into master and develop without # any conflicts that git is not able to resolve diff --git a/.github/workflows/audit.yml b/.github/workflows/nightly-security-audit.yml similarity index 100% rename from .github/workflows/audit.yml rename to .github/workflows/nightly-security-audit.yml diff --git a/.github/workflows/nym-wallet-release.yml b/.github/workflows/nym-wallet-release.yml deleted file mode 100644 index 34883144f3..0000000000 --- a/.github/workflows/nym-wallet-release.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Release Nym Wallet -on: - workflow_dispatch: - inputs: - nym_wallet_version: - description: 'The version of the Nym Wallet to release' - default: '1.0.x' - required: true - type: string -jobs: - create-release: - strategy: - fail-fast: false - matrix: - platform: [ubuntu-20.04] - runs-on: ${{ matrix.platform }} - steps: - - uses: actions/checkout@v2 - - name: Create release - uses: softprops/action-gh-release@v1 - with: - body: >- - This is a pre-release - - Download the wallet for your platform: - - - [Linux](https://github.com/nymtech/nym/releases/download/nym-wallet-v${{ inputs.nym_wallet_version}}/nym-wallet_v${{ inputs.nym_wallet_version}}_amd64_ubuntu20.04.AppImage) - - [MacOS](https://github.com/nymtech/nym/releases/download/nym-wallet-v${{ inputs.nym_wallet_version}}/nym-wallet_v${{ inputs.nym_wallet_version}}_x64_macos_11.dmg) - - [Windows](https://github.com/nymtech/nym/releases/download/nym-wallet-v${{ inputs.nym_wallet_version}}/nym-wallet_v${{ inputs.nym_wallet_version}}_x64_windows.msi) - prerelease: true - name: Nym Wallet v${{ inputs.nym_wallet_version}} - tag_name: nym-wallet-v${{ inputs.nym_wallet_version}} diff --git a/.github/workflows/nyms5-android-build.yml b/.github/workflows/publish-nyms5-android-apk.yml similarity index 100% rename from .github/workflows/nyms5-android-build.yml rename to .github/workflows/publish-nyms5-android-apk.yml diff --git a/.github/workflows/sdk-publish.yml b/.github/workflows/publish-sdk-npm.yml similarity index 97% rename from .github/workflows/sdk-publish.yml rename to .github/workflows/publish-sdk-npm.yml index 40b334e6ac..fa4d096926 100644 --- a/.github/workflows/sdk-publish.yml +++ b/.github/workflows/publish-sdk-npm.yml @@ -1,4 +1,4 @@ -name: Publish SDK to NPM +name: publish-sdk-npm on: workflow_dispatch: diff --git a/Makefile b/Makefile index c74994904e..a713d6c325 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # Default target all: test -test: clippy-all cargo-test contracts-wasm sdk-wasm-test fmt +test: clippy cargo-test contracts-wasm sdk-wasm-test fmt test-all: test cargo-test-expensive @@ -17,10 +17,6 @@ build-release: build-release-main contracts-wasm clippy: sdk-wasm-lint clippy-browser-extension-storage -# Deprecated -# For backwards compatibility -clippy-all: clippy - # ----------------------------------------------------------------------------- # Define targets for a given workspace # $(1): name @@ -184,10 +180,6 @@ contract-schema: # Misc # ----------------------------------------------------------------------------- -# NOTE: this seems deprecated an not needed anymore? -mixnet-opt: contracts-wasm - cd contracts/mixnet && make opt - generate-typescript: cd tools/ts-rs-cli && cargo run && cd ../.. yarn types:lint:fix