[refactor] #4161: rewrite config, _minimally_ (#4239) #250
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] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
id: buildx | |
if: always() | |
uses: docker/setup-buildx-action@v3 | |
with: | |
install: true | |
- name: Build and export to Docker iroha2:dev image | |
uses: docker/build-push-action@v5 | |
if: always() | |
with: | |
context: . | |
load: true | |
file: Dockerfile | |
tags: | | |
hyperledger/iroha2:dev | |
docker.soramitsu.co.jp/iroha2/iroha2:dev | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
- name: Test docker-compose.single.yml before pushing | |
run: | | |
docker compose -f docker-compose.single.yml up --wait || exit 1 | |
docker compose -f docker-compose.single.yml down | |
- name: Test docker-compose.local.yml before pushing | |
run: | | |
docker compose -f docker-compose.local.yml up --wait || exit 1 | |
docker compose -f docker-compose.local.yml down | |
- name: Test docker-compose.yml before pushing | |
run: | | |
docker compose -f docker-compose.yml up --wait || exit 1 | |
docker compose -f docker-compose.yml down | |
- name: Login to DockerHub | |
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: Push iroha2:dev image | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
push: true | |
tags: | | |
hyperledger/iroha2:dev | |
docker.soramitsu.co.jp/iroha2/iroha2:dev | |
labels: commit=${{ github.sha }} | |
archive_binaries_and_schema: | |
runs-on: ubuntu-latest | |
container: | |
image: hyperledger/iroha2-ci:nightly-2024-01-12 | |
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-2024-01-12 | |
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 |