Skip to content

[feature] #3454: make LTS the default #802

[feature] #3454: make LTS the default

[feature] #3454: make LTS the default #802

Workflow file for this run

name: I2::Dev::Publish
on:
push:
branches: [iroha2-dev]
# Run the workflow to check that the docker containers are properly buildable
pull_request_target:
branches: [iroha2-dev]
paths:
- '.github/workflows/**.yml'
env:
CARGO_TERM_COLOR: always
# Note jobs in this workflow are run on `push` meaning that there's
# no point in burning our AWS self-hosted runners' time. Hence
# `ubuntu-latest` and not `[self-hosted, Linux]`.
jobs:
registry:
runs-on: [self-hosted, Linux, iroha2-dev-push]
container:
image: hyperledger/iroha2-ci:nightly-2022-12-22
steps:
- uses: actions/checkout@v3
- uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to Soramitsu Harbor
uses: docker/login-action@v2
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@v2
with:
install: true
- name: Build and push iroha2:dev image
uses: docker/build-push-action@v4
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
load-rs:
continue-on-error: true
runs-on: ubuntu-latest
container:
image: hyperledger/iroha2-ci:nightly-2022-12-22
steps:
- name: Build and push docker image (load-rs:dev)
run: |
sleep 10s
echo "wait to other workflow"
- uses: convictional/trigger-workflow-and-wait@v1.6.5
with:
owner: soramitsu
repo: iroha2-longevity-load-rs
github_token: ${{ secrets.G_ACCESS_TOKEN }}
workflow_file_name: load-rs-push-from-dev.yaml
ref: iroha2-dev
archive_binaries_and_schema:
runs-on: ubuntu-latest
container:
image: hyperledger/iroha2-ci:nightly-2022-12-22
steps:
- uses: actions/checkout@v3
- 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-2022-12-22
steps:
- uses: actions/checkout@v3
- 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