Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.9.0 #363

Merged
merged 45 commits into from
Jun 13, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
5f71fa5
Merge branch 'release/v1.6.0' into develop
briancorbin Apr 19, 2022
9e94669
Fix usage of SQLite database transactions.
christian-oudard Apr 26, 2022
05507b5
Latest migration tester (#281)
Shramp Apr 26, 2022
b230a52
feature/limit offset optional (#283)
christian-oudard Apr 30, 2022
14e2bd6
bump minor version
briancorbin May 1, 2022
5683f47
update cargo lock
briancorbin May 1, 2022
6f4cb43
feature/update-ci-testing (#285)
briancorbin May 4, 2022
3dcab2d
lint fix
briancorbin May 4, 2022
478f7ba
Merge branch 'release/v1.7.0' into develop
briancorbin May 4, 2022
41d842b
Feature/switch-to-github-actions (#289)
briancorbin May 6, 2022
bc9ba35
Implement view-key management through CLI. (#290)
christian-oudard May 10, 2022
a2ab624
Make .mobconf and rust-toolchain reference mobilecoin submodule (#318)
May 18, 2022
730c34c
Max Spendable MOB (#314)
Shramp May 20, 2022
c8647d7
Feature/transaction signer service (#282)
briancorbin May 23, 2022
9880414
bump version
briancorbin May 23, 2022
48debfd
update cargo lock
briancorbin May 23, 2022
ae56698
Add faq with precision (#324)
Shramp May 23, 2022
55388db
Add change output for zero change (#323)
Shramp May 23, 2022
bccbed7
Updating export VO package for normal accounts (#327)
briancorbin May 25, 2022
e9cff49
Docs/fix new updates (#330)
Shramp May 25, 2022
4db9500
Feature/vo account balance improvements (#328)
briancorbin May 26, 2022
b402b43
Merge branch 'develop' into release/v1.8.0
briancorbin May 26, 2022
b0b9d6b
e2e tests for view only account flow + documentation updates (#333)
Shramp May 27, 2022
c0ff4c1
fixed bug (#334)
briancorbin May 27, 2022
5c31f00
Merge remote-tracking branch 'origin/develop' into release/v1.8.0
briancorbin May 28, 2022
017f44c
Implement offline transaction signing in CLI. (#337)
christian-oudard May 31, 2022
52434ac
updating gitignore (#341)
briancorbin Jun 1, 2022
8d06d6e
Add inputn and output validation (#340)
Shramp Jun 1, 2022
20f04bb
Merge branch 'main' of github.com:mobilecoinofficial/full-service int…
david1alvarez Jun 2, 2022
1cf462d
Merge branch 'release/v1.8.0' into develop
briancorbin Jun 2, 2022
d709c7d
creates draft release
briancorbin Jun 2, 2022
2c46937
Merge branch 'hotfix/create-draft-release' into develop
briancorbin Jun 2, 2022
ab4a7dd
new release action (#344)
briancorbin Jun 3, 2022
e06f490
Update actions to include ARM64 build (M1 Mac) (#351)
briancorbin Jun 6, 2022
2dfd89b
setting db encryption key earlier (#353)
briancorbin Jun 7, 2022
b5b8c32
Fix linker errors related to openssl on Ubuntu 22.04. (#355)
christian-oudard Jun 7, 2022
4fba298
Support BlockVersion 0->2 and mc v1.2.0 (#291)
briancorbin Jun 7, 2022
4fb2826
Upgrade mobilecoin submodule to release 1.2.1. (#357)
christian-oudard Jun 7, 2022
97963ca
only log tx when Token is MOB (#358)
briancorbin Jun 7, 2022
2480069
Update cargo lock for mc v1.2.1 (#360)
briancorbin Jun 8, 2022
232cbb5
Get TxLogs by range of blocks (#362)
briancorbin Jun 8, 2022
a07a694
bump version to 1.9.0
briancorbin Jun 8, 2022
f7ca6d5
Merge branch 'main' into release/v1.9.0
briancorbin Jun 8, 2022
a48e56f
setting flags for runners for OpenSSL (#364)
briancorbin Jun 8, 2022
d6cbe2e
Fix build issue with macOS runners (#365)
briancorbin Jun 8, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# .github/release.yml

changelog:
exclude:
labels:
- ignore for release
authors:
- octocat
categories:
- title: Breaking Changes 🛠
labels:
- Semver-Major
- breaking change
- title: Exciting New Features ✨
labels:
- Semver-Minor
- enhancement
- title: Bug Fixes 🐛
labels:
- Semver-Patch
- bug
- title: Other Changes
labels:
- "*"
232 changes: 99 additions & 133 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,18 @@ env:
CONSENSUS_ENCLAVE_CSS: /var/tmp/consensus-enclave.css
INGEST_ENCLAVE_CSS: /var/tmp/ingest-enclave.css

# only perform these build steps on pre-release
on:
push:
tags:
- v*
- 'v*-pre.*'
- '*-force-build*'

jobs:
macos:
runs-on: [self-hosted, macOS]
macos-x64:
runs-on: [self-hosted, macOS, X64]
permissions:
contents: write
outputs:
prerelease: ${{ steps.prerelease.outputs.value }}
strategy:
matrix:
include:
Expand All @@ -35,8 +35,7 @@ jobs:

- name: Brew Bundle
run: |
brew update --preinstall
brew bundle --no-upgrade
brew bundle

- name: Git Submodule
run: |
Expand All @@ -49,20 +48,7 @@ jobs:
with:
path: |
build_artifacts
key: ${{ runner.os }}-${{ matrix.network }}-${{ secrets.CACHE_VERSION }}-build-cargo-artifacts-${{ hashFiles('**/*.rs', '**/*.proto', '**/Cargo.toml')}}

- name: Cache Cargo
if: steps.artifact_cache.outputs.cache-hit != 'true'
id: cargo_cache
uses: actions/cache@v3
with:
path: |
/opt/cargo/bin/
/opt/cargo/registry/index/
/opt/cargo/registry/cache/
/opt/cargo/git/db/
target/
key: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-cargo-${{ hashFiles('**/Cargo.lock') }}
key: ${{ runner.os }}-x86-${{ matrix.network }}-${{ secrets.CACHE_VERSION }}-build-cargo-artifacts-${{ hashFiles('**/*.rs', '**/*.proto', '**/Cargo.toml')}}

- name: Consensus SigStruct
if: steps.artifact_cache.outputs.cache-hit != 'true'
Expand All @@ -79,6 +65,10 @@ jobs:
- name: Cargo Build
if: steps.artifact_cache.outputs.cache-hit != 'true'
run: |
export PATH="/usr/local/opt/openssl@3/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@3/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl@3/lib/pkgconfig"
cargo build --release

- name: Copy binaries to cache folder
Expand All @@ -89,90 +79,128 @@ jobs:
cp target/release/full-service build_artifacts/${{ matrix.network }}/bin/
cp target/release/transaction-signer build_artifacts/${{ matrix.network }}/bin/

# Create and Upload an Artifact on Push and Not a Tag
- name: Create Artifact
run: |
mkdir -pv artifact
cd artifact && tar -czvf ${{ github.sha }}-${{ runner.os }}-${{ matrix.network }}.tar.gz -C ../build_artifacts/${{ matrix.network }}/ .
cd artifact && tar -czvf ${{ github.sha }}-${{ runner.os }}-x86-${{ matrix.network }}.tar.gz -C ../build_artifacts/${{ matrix.network }}/ .

- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: full-service_${{ runner.os }}_${{ matrix.network }}
path: artifact/${{ github.sha }}-${{ runner.os }}-${{ matrix.network }}.tar.gz
name: full-service_${{ runner.os }}_${{ matrix.network }}_x86
path: artifact/${{ github.sha }}-${{ runner.os }}-x86-${{ matrix.network }}.tar.gz

# Does the tag have the "pre" key word in it? Will mark it as prerelease
- name: Is Prerelease
shell: bash
id: prerelease
- name: Create Release
if: startsWith(github.ref, 'refs/tags/v')
run: |
if [[ "${GITHUB_REF}" =~ pre ]]; then
echo "::set-output name=value::true"
else
echo "::set-output name=value::false"
fi

# Only for Tag on Main
- name: Get Current Pre-Release
if: startsWith(github.ref, 'refs/tags/v') && steps.prerelease.outputs.value == 'false'
id: current_release
uses: joutvhu/get-release@v1
mkdir -pv release
cd release && tar -czvf ${{ github.ref_name }}-${{ runner.os }}-x86-${{ matrix.network }}.tar.gz -C ../build_artifacts/${{ matrix.network }}/ .

- name: Upload Release
if: startsWith(github.ref, 'refs/tags/v')
uses: softprops/action-gh-release@v1
with:
debug: true
latest: true
draft: true
prerelease: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
files: |
release/${{ github.ref_name }}-${{ runner.os }}-x86-${{ matrix.network }}.tar.gz

# Only for Tag on Main
- name: Download Latest Pre-Release
if: startsWith(github.ref, 'refs/tags/v') && steps.prerelease.outputs.value == 'false'
uses: duhow/download-github-release-assets@v1
macos-arm64:
runs-on: [self-hosted, macOS, ARM64]
permissions:
contents: write
strategy:
matrix:
include:
- namespace: test
network: testnet
- namespace: prod
network: mainnet

steps:
- name: Checkout
uses: actions/checkout@v3
with:
tag: ${{ steps.current_release.outputs.tag_name }}
files: |
${{ steps.current_release.outputs.tag_name }}-${{ runner.os }}-${{ matrix.network }}.tar.gz
target: /var/tmp/${{ steps.current_release.outputs.tag_name }}-${{ runner.os }}-${{ matrix.network }}.tar.gz
submodules: recursive

# Only for Tag on Main
- name: Extract Release
if: startsWith(github.ref, 'refs/tags/v') && steps.prerelease.outputs.value == 'false'
- name: Brew Bundle
run: |
rm -rfv build_artifacts/${{ matrix.network }}
mkdir -pv build_artifacts/${{ matrix.network }}
tar xzvf /var/tmp/${{ steps.current_release.outputs.tag_name }}-${{ runner.os }}-${{ matrix.network }}.tar.gz -C build_artifacts/${{ matrix.network }}
brew bundle

- name: Git Submodule
run: |
git submodule update --checkout --init --recursive

- name: Create Release
if: startsWith(github.ref, 'refs/tags/v')
# CACHE_VERSION secret is 'date --iso-8601=minutes' and is used to invalidate cache if needed
- name: Cache Build Binaries
id: artifact_cache
uses: actions/cache@v3
with:
path: |
build_artifacts
key: ${{ runner.os }}-arm64-${{ matrix.network }}-${{ secrets.CACHE_VERSION }}-build-cargo-artifacts-${{ hashFiles('**/*.rs', '**/*.proto', '**/Cargo.toml')}}

- name: Consensus SigStruct
if: steps.artifact_cache.outputs.cache-hit != 'true'
run: |
mkdir -pv release
cd release && tar -czvf ${{ github.ref_name }}-${{ runner.os }}-${{ matrix.network }}.tar.gz -C ../build_artifacts/${{ matrix.network }}/ .
CONSENSUS_SIGSTRUCT_URI=$(curl -s https://enclave-distribution.${{ matrix.namespace }}.mobilecoin.com/production.json | grep consensus-enclave.css | awk '{print $2}' | tr -d \" | tr -d ,)
(cd /var/tmp && curl -O https://enclave-distribution.${{ matrix.namespace }}.mobilecoin.com/${CONSENSUS_SIGSTRUCT_URI})

- name: Ingest SigStruct
if: steps.artifact_cache.outputs.cache-hit != 'true'
run: |
INGEST_SIGSTRUCT_URI=$(curl -s https://enclave-distribution.${{ matrix.namespace }}.mobilecoin.com/production.json | grep ingest-enclave.css | awk '{print $2}' | tr -d \" | tr -d ,)
(cd /var/tmp && curl -O https://enclave-distribution.${{ matrix.namespace }}.mobilecoin.com/${INGEST_SIGSTRUCT_URI})

- name: Cargo Build
if: steps.artifact_cache.outputs.cache-hit != 'true'
run: |
export PATH="/opt/homebrew/opt/openssl@3/bin:$PATH"
export LDFLAGS="-L/opt/homebrew/opt/openssl@3/lib"
export CPPFLAGS="-I/opt/homebrew/opt/openssl@3/include"
export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@3/lib/pkgconfig"
cargo build --release

- name: Copy binaries to cache folder
if: steps.artifact_cache.outputs.cache-hit != 'true'
run: |
mkdir -pv build_artifacts/${{ matrix.network }}/bin
cp /var/tmp/*.css build_artifacts/${{ matrix.network }}
cp target/release/full-service build_artifacts/${{ matrix.network }}/bin/
cp target/release/transaction-signer build_artifacts/${{ matrix.network }}/bin/

- name: Generate MD5
- name: Create Artifact
run: |
mkdir -pv artifact
cd artifact && tar -czvf ${{ github.sha }}-${{ runner.os }}-arm64-${{ matrix.network }}.tar.gz -C ../build_artifacts/${{ matrix.network }}/ .

- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: full-service_${{ runner.os }}_${{ matrix.network }}_arm64
path: artifact/${{ github.sha }}-${{ runner.os }}-arm64-${{ matrix.network }}.tar.gz

- name: Create Release
if: startsWith(github.ref, 'refs/tags/v')
run: |
cd release && md5sum ${{ github.ref_name }}-${{ runner.os }}-${{ matrix.network }}.tar.gz > ${{ github.ref_name }}-${{ runner.os }}-${{ matrix.network }}.md5
mkdir -pv release
cd release && tar -czvf ${{ github.ref_name }}-${{ runner.os }}-arm64-${{ matrix.network }}.tar.gz -C ../build_artifacts/${{ matrix.network }}/ .

- name: Upload Release
if: startsWith(github.ref, 'refs/tags/v')
uses: softprops/action-gh-release@v1
with:
draft: true
prerelease: ${{ steps.prerelease.outputs.value }}
prerelease: true
files: |
release/${{ github.ref_name }}-${{ runner.os }}-${{ matrix.network }}.tar.gz
release/${{ github.ref_name }}-${{ runner.os }}-${{ matrix.network }}.md5
release/${{ github.ref_name }}-${{ runner.os }}-arm64-${{ matrix.network }}.tar.gz

linux:
runs-on: [self-hosted, Linux, large]
# Needs write permission for publishing release
permissions:
contents: write
container:
image: mobilecoin/rust-sgx-base:latest
outputs:
prerelease: ${{ steps.prerelease.outputs.value }}
strategy:
matrix:
include:
Expand All @@ -196,19 +224,6 @@ jobs:
build_artifacts
key: ${{ runner.os }}-${{ matrix.network }}-${{ secrets.CACHE_VERSION }}-build-cargo-artifacts-${{ hashFiles('**/*.rs', '**/*.proto', '**/Cargo.toml')}}

- name: Cache Cargo
if: steps.artifact_cache.outputs.cache-hit != 'true'
id: cargo_cache
uses: actions/cache@v3
with:
path: |
/opt/cargo/bin/
/opt/cargo/registry/index/
/opt/cargo/registry/cache/
/opt/cargo/git/db/
target/
key: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-cargo-${{ hashFiles('**/Cargo.lock') }}

- name: Consensus SigStruct
if: steps.artifact_cache.outputs.cache-hit != 'true'
run: |
Expand All @@ -234,7 +249,6 @@ jobs:
cp target/release/full-service build_artifacts/${{ matrix.network }}/bin/
cp target/release/transaction-signer build_artifacts/${{ matrix.network }}/bin/

# Create and Upload an Artifact on Push and Not a Tag
- name: Create Artifact
run: |
mkdir -pv artifact
Expand All @@ -246,65 +260,17 @@ jobs:
name: full-service_${{ runner.os }}_${{ matrix.network }}
path: artifact/${{ github.sha }}-${{ runner.os }}-${{ matrix.network }}.tar.gz

# Does the tag have the "pre" key word in it? Will mark it as prerelease
- name: Is Prerelease
shell: bash
id: prerelease
if: startsWith(github.ref, 'refs/tags/v')
run: |
if [[ "${GITHUB_REF}" =~ pre ]]; then
echo "::set-output name=value::true"
else
echo "::set-output name=value::false"
fi

# Only for Tag on Main
- name: Get Current Pre-Release
if: startsWith(github.ref, 'refs/tags/v') && steps.prerelease.outputs.value == 'false'
id: current_release
uses: joutvhu/get-release@v1
with:
debug: true
latest: true
prerelease: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# Only for Tag on Main
- name: Download Latest Pre-Release
if: startsWith(github.ref, 'refs/tags/v') && steps.prerelease.outputs.value == 'false'
uses: duhow/download-github-release-assets@v1
with:
tag: ${{ steps.current_release.outputs.tag_name }}
files: |
${{ steps.current_release.outputs.tag_name }}-${{ runner.os }}-${{ matrix.network }}.tar.gz
target: /var/tmp/${{ steps.current_release.outputs.tag_name }}-${{ runner.os }}-${{ matrix.network }}.tar.gz

# Only for Tag on Main
- name: Extract Release
if: startsWith(github.ref, 'refs/tags/v') && steps.prerelease.outputs.value == 'false'
run: |
rm -rfv build_artifacts/${{ matrix.network }}
mkdir -pv build_artifacts/${{ matrix.network }}
tar xzvf /var/tmp/${{ steps.current_release.outputs.tag_name }}-${{ runner.os }}-${{ matrix.network }}.tar.gz -C build_artifacts/${{ matrix.network }}

- name: Create Release
if: startsWith(github.ref, 'refs/tags/v')
run: |
mkdir -pv release
cd release && tar -czvf ${{ github.ref_name }}-${{ runner.os }}-${{ matrix.network }}.tar.gz -C ../build_artifacts/${{ matrix.network }}/ .

- name: Generate MD5
if: startsWith(github.ref, 'refs/tags/v')
run: |
cd release && md5sum ${{ github.ref_name }}-${{ runner.os }}-${{ matrix.network }}.tar.gz > ${{ github.ref_name }}-${{ runner.os }}-${{ matrix.network }}.md5

- name: Upload Release
if: startsWith(github.ref, 'refs/tags/v')
uses: softprops/action-gh-release@v1
with:
draft: true
prerelease: ${{ steps.prerelease.outputs.value }}
prerelease: true
files: |
release/${{ github.ref_name }}-${{ runner.os }}-${{ matrix.network }}.tar.gz
release/${{ github.ref_name }}-${{ runner.os }}-${{ matrix.network }}.md5
1 change: 1 addition & 0 deletions .github/workflows/docker-hub.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:
push:
tags:
- 'v*'
- '!v*-pre.*'

jobs:
build-and-publish:
Expand Down
Loading