Skip to content

Commit

Permalink
Merge branch 'develop' into dev-tools/reenable-coverage-ci
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex6323 committed Nov 29, 2024
2 parents 8732f9f + 28aeefc commit 016f593
Show file tree
Hide file tree
Showing 86 changed files with 3,428 additions and 289 deletions.
84 changes: 42 additions & 42 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,41 +1,41 @@
# Default fallback, if no other path below this matches
* @iotaledger/l1-core @iotaledger/core-node @iotaledger/core-consensus
* @iotaledger/sc-platform @iotaledger/core-protocol

# Everything within the SDK folder
/sdk/ @iotaledger/boxfish @iotaledger/l1-core @iotaledger/tooling
/sdk/ @iotaledger/tooling

# Changes to the genesis builder should be approved by Konstantinos or Mirko at least
/crates/iota-genesis-builder/ @kodemartin @miker83z

# vm-language team
/iota-execution/ @miker83z @valeriyr
/external-crates/ @miker83z @valeriyr
/iota-execution/ @iotaledger/vm-language
/external-crates/ @iotaledger/vm-language

# l1-core-infra team
/docker/ @iotaledger/l1-core-infra @iotaledger/core-node @iotaledger/devops-admin
/crates/iota-json-rpc*/ @iotaledger/l1-core-infra
/crates/iota-graphql*/ @iotaledger/l1-core-infra
/crates/iota-indexer*/ @iotaledger/l1-core-infra
/crates/iota-data-ingestion*/ @iotaledger/l1-core-infra
/crates/iota-analytics-indexer/ @iotaledger/l1-core-infra
# infrastructure team
/docker/ @iotaledger/infrastructure @iotaledger/node @iotaledger/devops-admin
/crates/iota-json-rpc*/ @iotaledger/infrastructure
/crates/iota-graphql*/ @iotaledger/infrastructure
/crates/iota-indexer*/ @iotaledger/infrastructure
/crates/iota-data-ingestion*/ @iotaledger/infrastructure
/crates/iota-analytics-indexer/ @iotaledger/infrastructure

# core-node team
/crates/iota-archival/ @iotaledger/core-node
/crates/iota-authority-aggregation/ @iotaledger/core-node @iotaledger/core-consensus
/crates/iota-config/ @iotaledger/core-node
/crates/iota-core/ @iotaledger/core-node @iotaledger/core-consensus
/crates/iota-network/ @iotaledger/core-node
/crates/iota-network-stack/ @iotaledger/core-node
/crates/iota-node/ @iotaledger/core-node
/crates/iota-types/ @iotaledger/core-node @iotaledger/l1-core
/crates/iota-protocol-config/ @iotaledger/core-node @iotaledger/l1-core
/crates/iota-protocol-config-macros/ @iotaledger/core-node @iotaledger/l1-core
/crates/iota-rest-api/ @iotaledger/core-node @iotaledger/l1-core-infra
/crates/iota-snapshot/ @iotaledger/core-node
/crates/iota-storage/ @iotaledger/core-node
# node team
/crates/iota-archival/ @iotaledger/node
/crates/iota-authority-aggregation/ @iotaledger/node @iotaledger/consensus
/crates/iota-config/ @iotaledger/node
/crates/iota-core/ @iotaledger/node @iotaledger/consensus
/crates/iota-network/ @iotaledger/node
/crates/iota-network-stack/ @iotaledger/node
/crates/iota-node/ @iotaledger/node
/crates/iota-types/ @iotaledger/node @iotaledger/sc-platform
/crates/iota-protocol-config/ @iotaledger/node @iotaledger/sc-platform
/crates/iota-protocol-config-macros/ @iotaledger/node @iotaledger/sc-platform
/crates/iota-rest-api/ @iotaledger/node @iotaledger/infrastructure
/crates/iota-snapshot/ @iotaledger/node
/crates/iota-storage/ @iotaledger/node

# core-consensus team
/consensus/ @iotaledger/core-consensus
# consensus team
/consensus/ @iotaledger/consensus

# dev-tools team
/crates/iota/ @iotaledger/dev-tools
Expand All @@ -45,21 +45,21 @@
/crates/iota-transaction-builder/ @iotaledger/dev-tools

# Frontend apps to be looked after by Boxfish Studio or the tooling team
/apps/ @iotaledger/boxfish @iotaledger/tooling
/dapps/ @iotaledger/boxfish @iotaledger/tooling
/linting/ @iotaledger/boxfish @iotaledger/tooling
/.husky/ @iotaledger/boxfish @iotaledger/tooling
/.changeset/ @iotaledger/boxfish @iotaledger/tooling
.eslintrc.js @iotaledger/boxfish @iotaledger/tooling
.lintstagedrc.json @iotaledger/boxfish @iotaledger/tooling
.npmrc @iotaledger/boxfish @iotaledger/tooling
.prettierignore @iotaledger/boxfish @iotaledger/tooling
graphql.config.ts @iotaledger/boxfish @iotaledger/tooling
package.json @iotaledger/boxfish @iotaledger/tooling
pnpm-workspace.yaml @iotaledger/boxfish @iotaledger/tooling
prettier.config.js @iotaledger/boxfish @iotaledger/tooling
turbo.json @iotaledger/boxfish @iotaledger/tooling
vercel.json @iotaledger/boxfish @iotaledger/tooling
/apps/ @iotaledger/tooling
/dapps/ @iotaledger/tooling
/linting/ @iotaledger/tooling
/.husky/ @iotaledger/tooling
/.changeset/ @iotaledger/tooling
.eslintrc.js @iotaledger/tooling
.lintstagedrc.json @iotaledger/tooling
.npmrc @iotaledger/tooling
.prettierignore @iotaledger/tooling
graphql.config.ts @iotaledger/tooling
package.json @iotaledger/tooling
pnpm-workspace.yaml @iotaledger/tooling
prettier.config.js @iotaledger/tooling
turbo.json @iotaledger/tooling
vercel.json @iotaledger/tooling

# Docs and examples are for DevEx to approve upon
/docs/ @iotaledger/devx
Expand Down
5 changes: 5 additions & 0 deletions .github/actions/diffs/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ outputs:
isMove:
description: True when changes happened to the Move code
value: "${{ steps.diff.outputs.isMove }}"
isExternalCrates:
description: True when changes happened in external crates
value: "${{ steps.diff.outputs.isExternalCrates }}"
isReleaseNotesEligible:
description: True when changes happened in Release Notes eligible paths
value: "${{ steps.diff.outputs.isReleaseNotesEligible }}"
Expand Down Expand Up @@ -56,6 +59,8 @@ runs:
- "examples/**"
- "iota_programmability/**"
- ".github/workflows/_move_tests.yml"
isExternalCrates:
- "external-crates/move/crates/**"
isReleaseNotesEligible:
- "consensus/**"
- "crates/**"
Expand Down
6 changes: 3 additions & 3 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Documentation:
documentation:
- changed-files:
- any-glob-to-any-file: docs/content/**/*
iota-explorer:
explorer:
- changed-files:
- any-glob-to-any-file: explorer/**/*
- any-glob-to-any-file: apps/explorer/**/*
96 changes: 96 additions & 0 deletions .github/workflows/_move_ide.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: Move IDE

on: workflow_call

concurrency:
group: move-ide-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
move-auto-formatter-test:
name: Move Auto-formatter Test
runs-on: [self-hosted]

steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # Pin v4.1.1
with:
ref: ${{ github.event.inputs.iota_repo_ref || github.ref }}

- name: Setup Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # [email protected]
with:
node-version: "20"

- name: Install dependencies
working-directory: ./external-crates/move/crates/move-analyzer/prettier-plugin
run: npm install && npm i web-tree-sitter

- name: Run npm test
working-directory: ./external-crates/move/crates/move-analyzer/prettier-plugin
shell: bash
run: npm run test

move-ide-test:
name: Move IDE Test
runs-on: [self-hosted]

steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # Pin v4.1.1
with:
ref: ${{ github.event.inputs.iota_repo_ref || github.ref }}

- name: Setup Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # [email protected]
with:
node-version: "20"

- name: Install dependencies and start Xvfb (emulate a display so VS Code can be started)
working-directory: ./external-crates/move/crates/move-analyzer/editors/code
run: |
sudo apt install libgtk-3-0 -y
sudo apt-get install -y xvfb x11-apps x11-xkb-utils libx11-6 libx11-xcb1
set -eux
# Start server
/usr/bin/Xvfb :99 -screen 0 1024x768x24 &
sleep 1
ps aux | grep Xvfb --color=always | grep -v grep
sudo add-apt-repository ppa:kisak/kisak-mesa -y
sudo apt update
sudo apt upgrade -y
npm install && npm install --save-dev @types/node @types/semver
- name: Build move-analyzer
run: |
cargo build --bin move-analyzer
mkdir -p ~/.iota/bin
cp ./target/debug/move-analyzer* ~/.iota/bin
- name: Run npm test
working-directory: ./external-crates/move/crates/move-analyzer/editors/code
shell: bash
run: npm run pretest && DISPLAY=:99.0 npm run test

move-vscode-extension-build:
name: Move VSCode extension build
runs-on: [self-hosted]

steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # Pin v4.1.1
with:
ref: ${{ github.event.inputs.iota_repo_ref || github.ref }}

- name: Setup Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # [email protected]
with:
node-version: "20"

- name: Install dependencies
working-directory: ./external-crates/move/crates/move-analyzer/editors/code
run: npm install && npm install --save-dev @types/node @types/semver

- name: Build VSCode extension
working-directory: ./external-crates/move/crates/move-analyzer/editors/code
run: npm run package
43 changes: 43 additions & 0 deletions .github/workflows/apps_wallet_prod_build.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: Build Wallet App (Prod)

on:
workflow_dispatch:
push:
tags:
- "wallet-v[0-9]+.[0-9]+.[0-9]+"
Expand Down Expand Up @@ -39,6 +40,48 @@ jobs:
echo "artifact_name=${artifact_name}" >> $GITHUB_ENV
- name: Build Wallet
run: pnpm wallet build
- name: Get Previous Tag
id: prev_tag
run: |
tags=$(git tag --list 'wallet-v*.*.*' --sort=-creatordate)
current_tag=$(echo "$tags" | sed -n 1p)
prev_tag=$(echo "$tags" | sed -n 2p)
if [ -z "$prev_tag" ]; then
echo "No previous tag found. Skipping changelog generation."
echo "PREV_TAG=none" >> $GITHUB_ENV
else
echo "PREV_TAG=$prev_tag" >> $GITHUB_ENV
fi
echo "CURRENT_TAG=$current_tag" >> $GITHUB_ENV
- name: Generate Changelog
id: generate_changelog
run: |
if [ "${{ env.PREV_TAG }}" = "none" ]; then
echo "No previous tag found. Skipping changelog generation."
echo "changelog=No previous tag found. Changelog generation skipped." >> $GITHUB_ENV
else
git log ${{ env.PREV_TAG }}..${{ env.CURRENT_TAG }} --pretty=format:"- %s by @%an in #%h" -- ./apps/wallet > CHANGELOG.md
changelog=$(cat CHANGELOG.md)
echo "changelog=$changelog" >> $GITHUB_ENV
fi
- name: Get version from tag
id: version
run: echo "::set-output name=version::${GITHUB_REF#refs/tags/wallet-v}"

- name: Create GitHub Release
uses: elgohr/Github-Release-Action@c5ea99036abb741a89f8bf1f2cd7fba845e3313a # pin@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.CURRENT_TAG }}
release_name: IOTA Wallet v${{ steps.version.outputs.version }}
body: |
## Changelog
{{ env.changelog }}
draft: true
prerelease: false
- name: Upload artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # pin@v4
with:
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/hierarchy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ jobs:
isMove: ${{ steps.diff.outputs.isMove }}
isDoc: ${{ steps.diff.outputs.isDoc }}
isReleaseNotesEligible: ${{ steps.diff.outputs.isReleaseNotesEligible }}
isExternalCrates: ${{ steps.diff.outputs.isExternalCrates }}
isWallet: ${{ (steps.turbo.outputs.packages && contains(fromJson(steps.turbo.outputs.packages), 'iota-wallet')) }}
isExplorer: ${{ (steps.turbo.outputs.packages && contains(fromJson(steps.turbo.outputs.packages), 'iota-explorer')) }}
isTypescriptSDK: ${{ (steps.turbo.outputs.packages && contains(fromJson(steps.turbo.outputs.packages), '@iota/iota-sdk')) }}
Expand Down Expand Up @@ -148,3 +149,12 @@ jobs:
- typos
uses: ./.github/workflows/_ledgernano.yml
secrets: inherit

move-ide:
if: (!cancelled() && !failure()) && needs.diff.outputs.isExternalCrates == 'true' && github.event.pull_request.draft == false
needs:
- diff
- dprint-format
- license-check
- typos
uses: ./.github/workflows/_move_ide.yml
Loading

0 comments on commit 016f593

Please sign in to comment.