Skip to content

Commit

Permalink
release 1.0.0 (#15)
Browse files Browse the repository at this point in the history
* feat: adds init, install and compile commands
changes:
- adds install command to pull in Docker images
- adds init command that initializes a Drogon project
- adds compile command that compiles the initialised Drogon project
- adds pulling in biolerplates/scaffolding
- adds workflows to build Drogon and Gochain images

* fix: fixes github action files

* fix: fixes Dockerfile and github actions

* fix: adds icon/gradle*

* fix: fixes github actions

* fix: updates github actions to create packages

* fix: updates github actions to create packages

* fix: fixes github actions to fix permissions

* adds docker hub push

* fix: fixes the github workflow

* fix: fixes the push to the community page

* feat: adds support for testing, optimizing
changes:
- adds 4 new commands
- test command to run tests
- optimize command to run optimizeJar tasks
- deploy command to run deployJar tasks
- gradlew subcommand that exposes gradle wrapper to drogon
- compile and test command now return CI/CD friendly exit codes
- install now pulls docker images from docker hub instead of ghcr.io

* fix: adds Docker debian image
Changes:
- adds Debian Docker image and improves goloop support

* fix: fix github actions

* feat: adds sandbox, goloop subcommands
changes:
- adds sandbox start and sandbox stop subcommands
- adds goloop command
- adds keystore command to generate keystores
- restructures code

* fix: fixes github actions

* fix: fixes github actions

* fix: fixes #5

* fix: fixes gochain image

* chore: adding dev dependencies and some run scripts to make it easier

* chore: removes yarn lock; lets use npm

* chore: linter fixes

* chore: removes the @typescript-eslint/no-explicit-any; FIX later

* chore: fixes the linter warnings; disabled the rules for irrelevant ones

* feat: adds ability to generate binary with pkg

* fix: fixes the issue with the github action checkout (#7)

* fix: gochain build err on docker file (#9)

* fix: fixes the issue where the gochain was not getting built inside dockerfile

* fix: fixes the image tagging

* feat: npm package release (#14)

* prepare tsconfig for publish

* adds run scripts

* linter error fix

* 0.1.1

* Revert "0.1.1"

This reverts commit f83ceba.

* 0.1.1

* 0.1.2

* ability to read the lib version from the package

* Milestone 2 (#13)

* feat: adds init, install and compile commands
changes:
- adds install command to pull in Docker images
- adds init command that initializes a Drogon project
- adds compile command that compiles the initialised Drogon project
- adds pulling in biolerplates/scaffolding
- adds workflows to build Drogon and Gochain images

* fix: fixes github action files

* fix: fixes Dockerfile and github actions

* fix: adds icon/gradle*

* fix: fixes github actions

* fix: updates github actions to create packages

* fix: updates github actions to create packages

* fix: fixes github actions to fix permissions

* adds docker hub push

* fix: fixes the github workflow

* fix: fixes the push to the community page

* feat: adds support for testing, optimizing
changes:
- adds 4 new commands
- test command to run tests
- optimize command to run optimizeJar tasks
- deploy command to run deployJar tasks
- gradlew subcommand that exposes gradle wrapper to drogon
- compile and test command now return CI/CD friendly exit codes
- install now pulls docker images from docker hub instead of ghcr.io

* fix: adds Docker debian image
Changes:
- adds Debian Docker image and improves goloop support

* fix: fix github actions

* feat: adds sandbox, goloop subcommands
changes:
- adds sandbox start and sandbox stop subcommands
- adds goloop command
- adds keystore command to generate keystores
- restructures code

* fix: fixes github actions

* fix: fixes github actions

* fix: fixes #5

* fix: fixes gochain image

* chore: adding dev dependencies and some run scripts to make it easier

* chore: removes yarn lock; lets use npm

* chore: linter fixes

* chore: removes the @typescript-eslint/no-explicit-any; FIX later

* chore: fixes the linter warnings; disabled the rules for irrelevant ones

* feat: adds ability to generate binary with pkg

* fix: fixes the issue with the github action checkout (#7)

* fix: gochain build err on docker file (#9)

* fix: fixes the issue where the gochain was not getting built inside dockerfile

* fix: fixes the image tagging

Co-authored-by: ant4g0nist <ant4g0nist@users.noreply.github.com>
Co-authored-by: Chaithu <3500559+ant4g0nist@users.noreply.github.com>

* adds installation instructions

* adds package name

* adds github workflows

* updates version from package

* chore: bumps version

Co-authored-by: coconut-bunch <ajith.c@outlook.com>
Co-authored-by: ant4g0nist <ant4g0nist@users.noreply.github.com>
Co-authored-by: Chaithu <3500559+ant4g0nist@users.noreply.github.com>

Co-authored-by: ant4g0nist <ant4g0nist@users.noreply.github.com>
Co-authored-by: Chaithu <3500559+ant4g0nist@users.noreply.github.com>
Co-authored-by: coconut-bunch <ajith.c@outlook.com>
  • Loading branch information
4 people authored Jan 16, 2023
1 parent 9bf7382 commit 07b669c
Show file tree
Hide file tree
Showing 7 changed files with 119 additions and 30 deletions.
12 changes: 4 additions & 8 deletions .github/workflows/build-drogon.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
name: Build and publish the Drogon image

'on':
push:
tags:
- '*'
branches:
- 'dev-0.1.0'

on:
workflow_run:
workflows: ["Release NPM Package"]
types: [completed]
jobs:
build-drogon-image:
runs-on: ubuntu-latest
Expand Down
58 changes: 58 additions & 0 deletions .github/workflows/release-drogon.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Release NPM Package
on:
push:
branches:
- 'main'

jobs:
build-drogon-image:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Checkout
uses: actions/checkout@v2.3.4

# Setup Node.js environment
- name: Setup Node.js
uses: actions/setup-node@v2
with:
registry-url: https://registry.npmjs.org/
node-version: '14'

# Configure Git
- name: Git configuration
run: |
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "GitHub Actions"
# Bump package version
# Use tag latest
- name: Bump release version
run: |
echo "NEW_VERSION=$(npm --no-git-tag-version version $RELEASE_TYPE)" >> $GITHUB_ENV
echo "RELEASE_TAG=latest" >> $GITHUB_ENV
env:
RELEASE_TYPE: patch

# Commit changes
- name: Commit package.json changes and create tag
run: |
git add "package.json"
git commit -m "chore: release ${{ env.NEW_VERSION }}"
git tag ${{ env.NEW_VERSION }}
# Publish version to public repository
- name: Publish
run: yarn publish --verbose --access public --tag ${{ env.RELEASE_TAG }}
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

# Push repository changes
- name: Push changes to repository
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git push origin && git push --tags
18 changes: 8 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,34 +4,32 @@

Drogon is a robust, lightweight application development framework used for developing, testing, and deploying smart contracts on the ICON blockchain. The core features of the Drogon makes ICON smart contract developers’ life easy by providing support for multiple contract compilations, tests, and deploying on a public and private network.

## Installation

### Requirements

- Docker
- yarn
- nodejs (to install from the npm registry)

## Installation

```sh
git clone https://github.com/icon-community/drogon -b dev-0.1.0
cd drogon/
yarn install
yarn drogon install
npm install -g @icon-community/drogon
```

## Usage

### drogon init

```sh
yarn drogon init
drogon init
```

### drogon compile

```sh
yarn drogon compile --help
yarn drogon compile -p /path/to/drogon/project
yarn drogon compile -p /path/to/drogon/project <gradle flags here>
drogon compile --help
drogon compile -p /path/to/drogon/project
drogon compile -p /path/to/drogon/project <gradle flags here>
```

### Features
Expand Down
25 changes: 21 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

29 changes: 23 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"name": "drogon",
"version": "0.1.0",
"name": "@icon-community/drogon",
"version": "1.0.0",
"description": "Drogon is a robust, lightweight application development framework used for developing, testing, and deploying smart contracts on the ICON blockchain. The core features of the Drogon makes ICON smart contract developers’ life easy by providing support for multiple contract compilations, tests, and deploying on a public and private network.",
"main": "./.build/src/index.js",
"devDependencies": {
"@types/dockerode": "^3.3.9",
"@types/figlet": "^1.5.4",
Expand All @@ -28,14 +29,29 @@
"prebuild:images": "if cd goloop; then git pull;else clone https://github.com/icon-project/goloop.git; fi",
"build:images": "cd goloop && GL_TAG=`node --eval=\"process.stdout.write(require('../package.json').version)\"` make gochain-icon-image",
"prettify": "npx prettier --write .",
"package": "pkg . --targets node16 --no-bytecode --public-packages '*' --public --output drogon"
"package": "pkg . --targets node16 --no-bytecode --public-packages '*' --public --output drogon",
"prepublishOnly": "npm run clean && npm run compile"
},
"bin": {
"drogon" : "./.build/src/index.js"
"drogon": "./.build/src/index.js"
},
"pkg" : {
"files": [
"./.build"
],
"pkg": {
"scripts": ".build/**/*.js",
"assets": [ "**/fonts/*.flf"]
"assets": [
"**/fonts/*.flf"
]
},
"keywords": [
"blockchain",
"drogon",
"icon-project"
],
"homepage": "https://drogon.io",
"bugs": {
"url": "https://github.com/icon-community/drogon/issues"
},
"dependencies": {
"axios": "^0.27.2",
Expand All @@ -45,6 +61,7 @@
"download-git-repo": "^3.0.2",
"figlet": "^1.5.2",
"inquirer": "^9.1.0",
"pkginfo": "^0.4.1",
"prompts": "^2.4.2",
"signale": "^1.4.0"
}
Expand Down
3 changes: 2 additions & 1 deletion src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
export const LIB_VERSION = "0.1.0";
var version = require('pkginfo')(module, 'version')
export const LIB_VERSION = version;
4 changes: 3 additions & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
"compilerOptions": {
"rootDir": ".",
"outDir": ".build",
"esModuleInterop": true
"esModuleInterop": true,
"declaration": true,
"sourceMap": false
},
"include": ["src/**/*.ts", "test/**/*.ts"]
}

0 comments on commit 07b669c

Please sign in to comment.