|
|
@ -5,66 +5,48 @@ on: |
|
|
|
tags: |
|
|
|
tags: |
|
|
|
- v* |
|
|
|
- v* |
|
|
|
|
|
|
|
|
|
|
|
jobs: |
|
|
|
env: |
|
|
|
|
|
|
|
GOPATH: ${{ github.workspace }} |
|
|
|
|
|
|
|
GOBIN: ${{ github.workspace }}/bin |
|
|
|
|
|
|
|
|
|
|
|
build-x8664: |
|
|
|
jobs: |
|
|
|
name: Build hmy binary for Linux x8664 |
|
|
|
build-x86_64: |
|
|
|
|
|
|
|
name: Build hmy binary for x86_64 |
|
|
|
runs-on: ${{ matrix.os }} |
|
|
|
runs-on: ${{ matrix.os }} |
|
|
|
strategy: |
|
|
|
strategy: |
|
|
|
matrix: |
|
|
|
matrix: |
|
|
|
os: [ ubuntu-18.04 ] |
|
|
|
os: [ ubuntu-18.04, macos-latest ] |
|
|
|
|
|
|
|
|
|
|
|
steps: |
|
|
|
steps: |
|
|
|
|
|
|
|
|
|
|
|
- name: Set up Go 1.16.5 |
|
|
|
|
|
|
|
uses: actions/setup-go@v2 |
|
|
|
|
|
|
|
with: |
|
|
|
|
|
|
|
go-version: 1.16.5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Checkout hmy code |
|
|
|
- name: Checkout hmy code |
|
|
|
uses: actions/checkout@v2 |
|
|
|
uses: actions/checkout@v3 |
|
|
|
with: |
|
|
|
with: |
|
|
|
path: go/src/github.com/harmony-one/go-sdk |
|
|
|
path: go-sdk |
|
|
|
|
|
|
|
|
|
|
|
- name: Debug |
|
|
|
- name: Set up Go |
|
|
|
run: | |
|
|
|
uses: actions/setup-go@v3 |
|
|
|
pwd |
|
|
|
with: |
|
|
|
echo ${HOME} |
|
|
|
go-version-file: go-sdk/go.mod |
|
|
|
echo ${GITHUB_WORKSPACE} |
|
|
|
|
|
|
|
echo ${GOPATH} |
|
|
|
|
|
|
|
echo ${GOROOT} |
|
|
|
|
|
|
|
env: |
|
|
|
|
|
|
|
GOPATH: /home/runner/work/go-sdk/go-sdk/go |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Checkout dependence repo |
|
|
|
- name: Checkout dependence repo |
|
|
|
uses: actions/checkout@v2 |
|
|
|
uses: actions/checkout@v3 |
|
|
|
with: |
|
|
|
with: |
|
|
|
repository: harmony-one/mcl |
|
|
|
repository: harmony-one/mcl |
|
|
|
path: go/src/github.com/harmony-one/mcl |
|
|
|
path: ${{ github.workspace }}/src/github.com/harmony-one/mcl |
|
|
|
env: |
|
|
|
|
|
|
|
GOPATH: /home/runner/work/go-sdk/go-sdk/go |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Checkout dependence repo |
|
|
|
- name: Checkout dependence repo |
|
|
|
uses: actions/checkout@v2 |
|
|
|
uses: actions/checkout@v3 |
|
|
|
with: |
|
|
|
with: |
|
|
|
repository: harmony-one/bls |
|
|
|
repository: harmony-one/bls |
|
|
|
path: go/src/github.com/harmony-one/bls |
|
|
|
path: ${{ github.workspace }}/src/github.com/harmony-one/bls |
|
|
|
env: |
|
|
|
|
|
|
|
GOPATH: /home/runner/work/go-sdk/go-sdk/go |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Checkout dependence code |
|
|
|
- name: Checkout dependence code |
|
|
|
uses: actions/checkout@v2 |
|
|
|
uses: actions/checkout@v2 |
|
|
|
with: |
|
|
|
with: |
|
|
|
repository: harmony-one/harmony |
|
|
|
repository: harmony-one/harmony |
|
|
|
path: go/src/github.com/harmony-one/harmony |
|
|
|
path: ${{ github.workspace }}/src/github.com/harmony-one/harmony |
|
|
|
ref: main |
|
|
|
ref: main |
|
|
|
fetch-depth: 0 |
|
|
|
fetch-depth: 0 |
|
|
|
env: |
|
|
|
|
|
|
|
GOPATH: /home/runner/work/go-sdk/go-sdk/go |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Get latest version and release |
|
|
|
- name: Get latest version and release |
|
|
|
run: | |
|
|
|
run: | |
|
|
@ -72,26 +54,45 @@ jobs: |
|
|
|
RELEASE=$(git describe --long | cut -f2 -d-) |
|
|
|
RELEASE=$(git describe --long | cut -f2 -d-) |
|
|
|
echo "build_version=$VERSION" >> $GITHUB_ENV |
|
|
|
echo "build_version=$VERSION" >> $GITHUB_ENV |
|
|
|
echo "build_release=$RELEASE" >> $GITHUB_ENV |
|
|
|
echo "build_release=$RELEASE" >> $GITHUB_ENV |
|
|
|
working-directory: /home/runner/work/go-sdk/go-sdk/go/src/github.com/harmony-one/go-sdk |
|
|
|
working-directory: go-sdk |
|
|
|
env: |
|
|
|
|
|
|
|
GOPATH: /home/runner/work/go-sdk/go-sdk/go |
|
|
|
- name: Debug |
|
|
|
|
|
|
|
run: | |
|
|
|
|
|
|
|
pwd |
|
|
|
|
|
|
|
echo ${HOME} |
|
|
|
|
|
|
|
echo ${GITHUB_WORKSPACE} |
|
|
|
|
|
|
|
echo ${GOPATH} |
|
|
|
|
|
|
|
echo ${GOROOT} |
|
|
|
|
|
|
|
|
|
|
|
- name: Build hmy binary for Linux |
|
|
|
- name: Build hmy binary for Linux |
|
|
|
if: matrix.os == 'ubuntu-18.04' |
|
|
|
if: matrix.os == 'ubuntu-18.04' |
|
|
|
run: | |
|
|
|
run: | |
|
|
|
make static |
|
|
|
make static |
|
|
|
working-directory: /home/runner/work/go-sdk/go-sdk/go/src/github.com/harmony-one/go-sdk |
|
|
|
working-directory: go-sdk |
|
|
|
env: |
|
|
|
|
|
|
|
GOPATH: /home/runner/work/go-sdk/go-sdk/go |
|
|
|
- name: Build libs for macos-latest |
|
|
|
|
|
|
|
if: matrix.os == 'macos-latest' |
|
|
|
|
|
|
|
run: | |
|
|
|
|
|
|
|
brew install gmp |
|
|
|
|
|
|
|
brew install openssl |
|
|
|
|
|
|
|
sudo ln -sf /opt/homebrew/opt/openssl@3 /usr/local/opt/openssl |
|
|
|
|
|
|
|
echo "ls -l /usr/local/opt/"; ls -l /usr/local/opt/ |
|
|
|
|
|
|
|
make libs |
|
|
|
|
|
|
|
working-directory: ${{ github.workspace }}/src/github.com/harmony-one/harmony |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Build hmy binary for macos-latest x86_64 |
|
|
|
|
|
|
|
if: matrix.os == 'macos-latest' |
|
|
|
|
|
|
|
run: | |
|
|
|
|
|
|
|
make all |
|
|
|
|
|
|
|
mv dist/hmy dist/hmy-darwin-x86_64 |
|
|
|
|
|
|
|
working-directory: go-sdk |
|
|
|
|
|
|
|
|
|
|
|
- name: Upload artifact |
|
|
|
- name: Upload artifact |
|
|
|
uses: actions/upload-artifact@v2 |
|
|
|
uses: actions/upload-artifact@v2 |
|
|
|
with: |
|
|
|
with: |
|
|
|
name: hmy |
|
|
|
name: hmy |
|
|
|
path: /home/runner/work/go-sdk/go-sdk/go/src/github.com/harmony-one/go-sdk/dist/* |
|
|
|
path: ${{ github.workspace }}/go-sdk/dist/* |
|
|
|
retention-days: 1 |
|
|
|
retention-days: 1 |
|
|
|
env: |
|
|
|
|
|
|
|
GOPATH: /home/runner/work/go-sdk/go-sdk/go |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# build-arm64: |
|
|
|
# build-arm64: |
|
|
|
# name: Build hmy binary |
|
|
|
# name: Build hmy binary |
|
|
@ -169,9 +170,8 @@ jobs: |
|
|
|
|
|
|
|
|
|
|
|
release-page: |
|
|
|
release-page: |
|
|
|
name: Sign binary and create and publish release page |
|
|
|
name: Sign binary and create and publish release page |
|
|
|
needs: [ build-x8664 ] |
|
|
|
needs: [ build-x86_64 ] |
|
|
|
runs-on: ubuntu-18.04 |
|
|
|
runs-on: ubuntu-18.04 |
|
|
|
|
|
|
|
|
|
|
|
steps: |
|
|
|
steps: |
|
|
|
- name: Import GPG key |
|
|
|
- name: Import GPG key |
|
|
|
uses: crazy-max/ghaction-import-gpg@v3 |
|
|
|
uses: crazy-max/ghaction-import-gpg@v3 |
|
|
@ -180,12 +180,9 @@ jobs: |
|
|
|
passphrase: ${{ secrets.HMY_GPG_PRIVATE_KEY_PASS }} |
|
|
|
passphrase: ${{ secrets.HMY_GPG_PRIVATE_KEY_PASS }} |
|
|
|
|
|
|
|
|
|
|
|
- name: Checkout hmy core code |
|
|
|
- name: Checkout hmy core code |
|
|
|
uses: actions/checkout@v2 |
|
|
|
uses: actions/checkout@v3 |
|
|
|
with: |
|
|
|
with: |
|
|
|
path: go/src/github.com/harmony-one/go-sdk |
|
|
|
path: go-sdk |
|
|
|
env: |
|
|
|
|
|
|
|
GOPATH: /home/runner/work/go-sdk/go-sdk/go |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Get latest version |
|
|
|
- name: Get latest version |
|
|
|
run: | |
|
|
|
run: | |
|
|
@ -195,87 +192,59 @@ jobs: |
|
|
|
echo "build_version=$VERSION" >> $GITHUB_ENV |
|
|
|
echo "build_version=$VERSION" >> $GITHUB_ENV |
|
|
|
echo "build_version_long=$VERSION_LONG" >> $GITHUB_ENV |
|
|
|
echo "build_version_long=$VERSION_LONG" >> $GITHUB_ENV |
|
|
|
echo "build_release=$RELEASE" >> $GITHUB_ENV |
|
|
|
echo "build_release=$RELEASE" >> $GITHUB_ENV |
|
|
|
working-directory: /home/runner/work/go-sdk/go-sdk/go/src/github.com/harmony-one/go-sdk |
|
|
|
working-directory: go-sdk |
|
|
|
env: |
|
|
|
|
|
|
|
GOPATH: /home/runner/work/go-sdk/go-sdk/go |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Download artifact |
|
|
|
- name: Download artifact |
|
|
|
uses: actions/download-artifact@v2 |
|
|
|
uses: actions/download-artifact@v2 |
|
|
|
with: |
|
|
|
with: |
|
|
|
name: hmy |
|
|
|
name: hmy |
|
|
|
|
|
|
|
|
|
|
|
- name: Signed amd64 hmy binary |
|
|
|
- name: Display structure of downloaded files |
|
|
|
run: | |
|
|
|
run: ls -R |
|
|
|
gpg --detach-sign hmy |
|
|
|
|
|
|
|
sha256sum hmy >> hmy.sha256 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# - name: Download artifact |
|
|
|
|
|
|
|
# uses: actions/download-artifact@v2 |
|
|
|
|
|
|
|
# with: |
|
|
|
|
|
|
|
# name: hmy-arm64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# - name: Signed arm64 hmy binary |
|
|
|
|
|
|
|
# run: | |
|
|
|
|
|
|
|
# gpg --detach-sign hmy-arm64 |
|
|
|
|
|
|
|
# sha256sum hmy-arm64 >> hmy-arm64.sha256 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Signed darwin x86_64 hmy binary |
|
|
|
|
|
|
|
run: | |
|
|
|
|
|
|
|
gpg --detach-sign hmy-darwin-x86_64 |
|
|
|
|
|
|
|
sha256sum hmy-darwin-x86_64 >> hmy-darwin-x86_64.sha256 |
|
|
|
|
|
|
|
|
|
|
|
- name: Get tag message |
|
|
|
- name: Get tag message |
|
|
|
env: |
|
|
|
env: |
|
|
|
TAG_SHA: ${{ github.event.after }} |
|
|
|
TAG_SHA: ${{ github.event.after }} |
|
|
|
GOPATH: /home/runner/work/go-sdk/go |
|
|
|
|
|
|
|
run: | |
|
|
|
run: | |
|
|
|
touch ./tag_message.md |
|
|
|
touch ./tag_message.md |
|
|
|
echo -e "$TAG_SHA\n\nThe released version: $build_version_long" >> ./tag_message.md |
|
|
|
echo -e "$TAG_SHA\n\nThe released version: $build_version_long" >> ./tag_message.md |
|
|
|
working-directory: /home/runner/work/go-sdk/go-sdk/go/src/github.com/harmony-one/go-sdk |
|
|
|
working-directory: go-sdk |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Create Release |
|
|
|
- name: Create Release |
|
|
|
id: create_release |
|
|
|
id: create_release |
|
|
|
uses: actions/create-release@v1 |
|
|
|
uses: actions/create-release@v1 |
|
|
|
env: |
|
|
|
env: |
|
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|
|
|
GOPATH: /home/runner/work/go-sdk/go-sdk/go |
|
|
|
|
|
|
|
with: |
|
|
|
with: |
|
|
|
tag_name: ${{ github.ref }} |
|
|
|
tag_name: ${{ github.ref }} |
|
|
|
release_name: Mainnet Release ${{ env.build_version }} |
|
|
|
release_name: Mainnet Release ${{ env.build_version }} |
|
|
|
draft: true |
|
|
|
draft: true |
|
|
|
prerelease: false |
|
|
|
prerelease: false |
|
|
|
body_path: /home/runner/work/go-sdk/go-sdk/go/src/github.com/harmony-one/go-sdk/tag_message.md |
|
|
|
body_path: ${{ github.workspace }}/go-sdk/tag_message.md |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Upload hmy binary for Linux (x86_64) |
|
|
|
|
|
|
|
|
|
|
|
- name: Upload hmy binary for Linux (amd64) |
|
|
|
|
|
|
|
uses: actions/upload-release-asset@v1 |
|
|
|
uses: actions/upload-release-asset@v1 |
|
|
|
env: |
|
|
|
env: |
|
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|
|
|
GOPATH: /home/runner/work/go-sdk/go-sdk/go |
|
|
|
|
|
|
|
with: |
|
|
|
with: |
|
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }} |
|
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }} |
|
|
|
asset_path: ./hmy |
|
|
|
asset_path: ./hmy |
|
|
|
asset_name: hmy |
|
|
|
asset_name: hmy |
|
|
|
asset_content_type: application/octet-stream |
|
|
|
asset_content_type: application/octet-stream |
|
|
|
|
|
|
|
|
|
|
|
- name: Upload sha256 signature of hmy amd64 binary |
|
|
|
- name: Upload hmy binary darwin-x86_64 |
|
|
|
uses: actions/upload-release-asset@v1 |
|
|
|
uses: actions/upload-release-asset@v1 |
|
|
|
env: |
|
|
|
env: |
|
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|
|
|
with: |
|
|
|
with: |
|
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }} |
|
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }} |
|
|
|
asset_path: ./hmy.sha256 |
|
|
|
asset_path: ./hmy-darwin-x86_64 |
|
|
|
asset_name: hmy.sha256 |
|
|
|
asset_name: hmy-darwin-x86_64 |
|
|
|
asset_content_type: text/plain |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Upload gpg signature of hmy amd64 binary |
|
|
|
|
|
|
|
uses: actions/upload-release-asset@v1 |
|
|
|
|
|
|
|
env: |
|
|
|
|
|
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|
|
|
|
|
|
|
with: |
|
|
|
|
|
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }} |
|
|
|
|
|
|
|
asset_path: ./hmy.sig |
|
|
|
|
|
|
|
asset_name: hmy.sig |
|
|
|
|
|
|
|
asset_content_type: application/octet-stream |
|
|
|
asset_content_type: application/octet-stream |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -308,9 +277,4 @@ jobs: |
|
|
|
# upload_url: ${{ steps.create_release.outputs.upload_url }} |
|
|
|
# upload_url: ${{ steps.create_release.outputs.upload_url }} |
|
|
|
# asset_path: ./hmy-arm64.sig |
|
|
|
# asset_path: ./hmy-arm64.sig |
|
|
|
# asset_name: hmy-arm64.sig |
|
|
|
# asset_name: hmy-arm64.sig |
|
|
|
# asset_content_type: application/octet-stream |
|
|
|
# asset_content_type: application/octet-stream |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|