Merge branch 'iroha2-dev' into iroha2-dev #24
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: I2::Dev::Publish | |
on: | |
push: | |
branches: [iroha2-dev] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
registry: | |
runs-on: [self-hosted, Linux, iroha2-dev-push] | |
container: | |
image: hyperledger/iroha2-ci:nightly-2023-06-25 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Login to Soramitsu Harbor | |
uses: docker/login-action@v3 | |
with: | |
registry: docker.soramitsu.co.jp | |
username: ${{ secrets.HARBOR_USERNAME }} | |
password: ${{ secrets.HARBOR_TOKEN }} | |
- name: Set up Docker Buildx | |
id: buildx | |
if: always() | |
uses: docker/setup-buildx-action@v3 | |
with: | |
install: true | |
- name: Build and push iroha2:dev image | |
uses: docker/build-push-action@v5 | |
if: always() | |
with: | |
push: true | |
tags: | | |
hyperledger/iroha2:dev | |
docker.soramitsu.co.jp/iroha2/iroha2:dev | |
labels: commit=${{ github.sha }} | |
build-args: TAG=dev | |
file: Dockerfile | |
# This context specification is required | |
context: . | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
archive_binaries_and_schema: | |
runs-on: ubuntu-latest | |
container: | |
image: hyperledger/iroha2-ci:nightly-2023-06-25 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
- name: Build | |
run: mold --run cargo build --release --verbose | |
- name: Archive iroha | |
uses: actions/upload-artifact@v3 | |
with: | |
name: cargo-build-release | |
path: target/release/iroha | |
- name: Archive iroha_client_cli | |
uses: actions/upload-artifact@v3 | |
with: | |
name: cargo-client-cli-build-release | |
path: target/release/iroha_client_cli | |
- name: Archive kagami | |
uses: actions/upload-artifact@v3 | |
with: | |
name: cargo-crypto-cli-build-release | |
path: target/release/kagami | |
- name: Generate schema | |
run: | | |
mkdir -p target/schema | |
cargo run --bin kagami -- schema >target/schema/schema.json | |
- name: Archive schema | |
uses: actions/upload-artifact@v3 | |
with: | |
name: schema | |
path: target/schema | |
telemetry: | |
# FIXME #2646 | |
if: false | |
runs-on: ubuntu-latest | |
container: | |
image: hyperledger/iroha2-ci:nightly-2023-06-25 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
- name: Run debug tests and save telemetry | |
env: | |
TELEMETRY_FILE: ../target/telemetry/debug.json.lz4 | |
run: | | |
mkdir -p target/telemetry | |
mold --run cargo test -p iroha_client --all-features -- unstable_network || true | |
- name: Run release tests and save telemetry | |
env: | |
TELEMETRY_FILE: ../target/telemetry/release.json.lz4 | |
run: mold --run cargo test -p iroha_client --all-features --release -- unstable_network || true | |
- name: Install script dependencies | |
run: | | |
apt-get update | |
apt-get install -y --no-install-recommends lz4 jq | |
- name: Print debug telemetry info | |
run: | | |
./scripts/analyze_telemetry.sh target/telemetry/debug.json.lz4 >target/telemetry/debug.md | |
- name: Print release telemetry info | |
run: ./scripts/analyze_telemetry.sh target/telemetry/release.json.lz4 >target/telemetry/release.md | |
- name: Print debug telemetry info | |
run: | | |
echo '## Debug build' | |
cat target/telemetry/debug.md | |
- name: Print release telemetry info | |
run: | | |
echo '## Release build' | |
cat target/telemetry/release.md | |
- name: Create telemetry comment | |
uses: actions-ecosystem/action-create-comment@v1 | |
with: | |
body: | | |
\# Telemetry info | |
\## Debug build | |
${{ steps.debug-telemetry.outputs.body }} | |
\## Release build | |
${{ steps.release-telemetry.outputs.body }} | |
github_token: ${{ secrets.github_token }} | |
continue-on-error: true | |
- name: Archive telemetry | |
uses: actions/upload-artifact@v3 | |
with: | |
name: telemetry | |
path: target/telemetry |