GithubHelp home page GithubHelp logo

jzxchiang1 / sdk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dfinity/sdk

0.0 0.0 0.0 13.79 MB

The DFINITY Canister Software Development Kit (SDK)

Home Page: https://sdk.dfinity.org

License: Apache License 2.0

Nix 2.74% Rust 71.38% JavaScript 0.78% Shell 23.50% Modelica 0.01% Python 0.44% CSS 0.07% HTML 0.09% Motoko 0.99%

sdk's Introduction

DFX

Getting Started

dfx is the command-line interface for managing your Internet Computer project and the best place to start.

Installing

You can install dfx a few different ways.

sh -ci "$(curl -fsSL https://sdk.dfinity.org/install.sh)"

This command will install a binary compatible with your operating system, and add it to /usr/local/bin.

via GitHub Releases

Find a release for your architecture here.

Getting Help

Once dfx is installed, get acquainted with its capabilities by entering.

dfx help

Contributing to the DFINITY SDK

See our contributing guidelines here.

Release Process

DFX is released in two steps:

  1. Publishing a new DFX release.

  2. Publishing a new manifest.json and install.sh to instruct the installer to actually download and install the new DFX release.

Publising DFX

  1. The release manager makes sure the dfx stable branch points to the revision that should be released and that the revision is tagged with a version (like 0.5.6).

  2. The sdk-release jobset on Hydra tracks the stable branch and starts evaluating shortly after stable advances.

  3. As you can see it only has the single job publish.dfx which is defined here in terms of the dfx job. Note that the publish.dfx job only exists when the revision has a proper version tag. This prevents publishing of untagged revisions.

  4. Our CD system running at deployer.dfinity.systems is configured with the publish-sdk-dfx-release job. It will monitor the aforementioned publish.dfx job for new builds, whenever there’s a new build it will download the output (the CD script) and execute it.

  5. As you can see the script also sends a message to the #build-notifications Slack channel so you can see when and if the SDK has been published.

Publishing manifest.json and install.sh

After the DFX has been released it’s available for download but the install script at https://sdk.dfinity.org/install.sh won’t immediately install it. To make sure the installer actually downloads and installs the new DFX release the manifest.json file at https://sdk.dfinity.org/manifest.json has to set its tags.latest field to the new version. The following explains how to do that.

  1. Edit the public/manifest.json file such that it points to the new DFX version and make sure this is merged in master.

  2. Similarly to releasing the DFX there’s a install-sh job that builds a CD script for publishing the manifest.json and install.sh to our CDN.

  3. This job is built on the sdk jobset which tracks the master branch.

  4. deployer.dfinity.systems is configured with the publish-sdk-install-sh job which will monitor the aforementioned publish.install-sh.x86_64-linux job for new builds, whenever there’s a new build it will download the output (the CD script) and execute it.

sdk's People

Contributors

dfinity-bot avatar ericswanson-dfinity avatar chenyan-dfinity avatar p-shahi avatar hansl avatar paulyoung avatar nmattia avatar basvandijk avatar eftychis avatar lsgunnlsgunn avatar nomeata avatar enzoh avatar lwshang avatar knl avatar matthewhammer avatar andrewwylde avatar krpeacock avatar ggreif avatar ninegua avatar pikajude avatar adamspofford-dfinity avatar mergify[bot] avatar krzysztofwos avatar ali-piccioni avatar dsarlis avatar jplevyak avatar sasa-tomic avatar alexabsmith avatar gobengo avatar kritzcreek avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.