Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Current »

This document details the process of creating, deploying and testing FIO on localnet as if it were a release. This process may be used as a final test for a major change, i.e. FIP, delivery before merge to Develop.

References:

Deploying FIO Contracts (fioprotocol.io)

Tasks

BD-3615 - Getting issue details... STATUS

BD-3779 - Getting issue details... STATUS

LocalNet/FIP Build, Deploy and Test Process

  1. Review the Master Release Plan at Master Release Plan and identify the current MainNet release branches. For example, the 3.3.0 Release has the following repos/branches:

    1. fio - release/3.3.x-dev

    2. fio.contracts - release/2.7.x

    3. fio.test - release/2.7.x_3.3.x

    4. fio.devtools - release/2.7.x_3.3.x

    5. fiosdk_typescript - release/1.6.x

  2. On the server, clone and build a develop version of FIO core and the contracts

    1. Clone the FIO Core branches and checkout each repo to the develop branch.

      1. fio - develop

      2. fio.contracts - develop

      3. fio.devtools - develop

    2. Build and install FIO

      1. cd fio/scripts

      2. Execute ./fio_build.sh

      3. Execute ./fio_install.sh

    3. Build the contracts

      1. cd fio.devtools

      2. Execute ./start.sh <FIO Version>

        1. Local Startup (1)

        2. Update/Build Contracts (2)

    4. [Important] Copy this version of the fio.contracts to fio.contracts-<branch name>

    5. To perform a smoketest against the develop version;

      1. Start up the chain (see step 3c) and then run fio.test develop test suite (see step 6).

      2. Clean the chain of runtime artifacts

        1. cd fio.devtools

        2. execute ./start.sh <FIO Version>

          1. Local Startup (1)

          2. Nuke All (3)

          3. Continue - Yes (1)

  3. On the server, update the repos cloned above to test the functionality that will be in the release.

    1. To build, deploy and test the release, check out the appropriate branch in the following repos:

      1. fio.contracts

      2. fio.devtools

      3. For instance, to test the FIP-41, FIP-17a, FIP-17b release, checkout out the repos as follows:

        1. fio.contracts - release/2.7.x

        2. fio.devtools - release/2.7.x_3.3.x

    2. Build the contracts

      1. cd fio.devtools

      2. Execute ./start.sh <FIO Version> and specify the following responses to the runtime options

        1. Local Startup (1)

        2. Update/Build Contracts (2)

    3. Start the Local Chain

      1. Execute ./start.sh <FIO Version> and specify the following responses to the runtime options

        1. Local Startup (1)

        2. Local Blockchain (1)

        3. Increased Transaction Time (2)

  4. On the server, execute the Release Script commands pointing to the contracts built in steps 2c and 2d

  5. On the client, clone and check out the repo, fio.test, to the develop branch

    1. fio.test - develop

  6. Update the fio.test config.js to point to the server

    1. cd fio.test

    2. vi config.js

    3. Edit the test url to point to the server configured and running above

      1. const TESTURL = 'http://<server ip>:8889'

      2. This should be the only ‘active’ TESTURL

    4. Execute the command ‘npm test’

      1. Edit the index.js to run a custom set of tests

    5. Document the results

  7. To test against and individual FIP branche, identify the branch(es) via the developer, the FIO github project or via the project development spec (reference Release Content above) and checkout the branches. For example, to test the FIP-41 updates, fio.contracts, fio.devtools repos were updated. Checkout the branches as follows:

    1. fio.contracts - feature/FIP-41-develop-03012022

    2. fio.devtools - feature/FIP-41-develop-03012022

  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.