Development (#172)

* docs: Add CLAUDE_RULES.md with strict rebrand protection rules

- Define immutable rebrand rules that cannot be violated
- Prohibit reverting rebrand for cargo check convenience
- Establish checkpoint and audit trail requirements
- Document correct error handling approach

* refactor: Complete kurdistan-sdk to pezkuwi-sdk rebrand

- Update README.md with pezkuwi-sdk branding
- Replace all kurdistan-sdk URL references with pezkuwi-sdk
- Replace kurdistan-tech with pezkuwichain in workflows
- Update email domains from @kurdistan-tech.io to @pezkuwichain.io
- Rename tool references: kurdistan-tech-publish → pezkuwi-publish
- Update runner names: kurdistan-tech-* → pezkuwichain-*
- Update analytics/forum/matrix domains to pezkuwichain.io
- Keep 'Kurdistan Tech Institute' as organization name
- Keep tech@kurdistan.gov as official government contact
This commit is contained in:
2025-12-19 23:30:43 +03:00
committed by GitHub
parent 2093647fea
commit 3680848df2
209 changed files with 496 additions and 454 deletions
+5 -5
View File
@@ -73,9 +73,9 @@ jobs:
rustup target add wasm32-unknown-unknown --toolchain $TOOLCHAIN
rustup component add rust-src --toolchain $TOOLCHAIN
- name: Install kurdistan-tech-publish
- name: Install pezkuwi-publish
# Set the target dir to cache the build.
run: CARGO_TARGET_DIR=./target/ cargo install kurdistan-tech-publish@0.10.6 --locked -q
run: CARGO_TARGET_DIR=./target/ cargo install pezkuwi-publish@0.10.6 --locked -q
- name: Get original PR number
shell: bash
@@ -125,10 +125,10 @@ jobs:
prdoc_file="prdoc/pr_$PR.prdoc"
# Always run kurdistan-tech-publish to check for all issues (mismatches and missing crates)
# Always run pezkuwi-publish to check for all issues (mismatches and missing crates)
# Capture output to check for specific error types
parity_output=$(mktemp)
if ! kurdistan-tech-publish --color always prdoc --since old --validate prdoc/pr_$PR.prdoc $PRDOC_EXTRA_ARGS -v --toolchain $TOOLCHAIN 2>&1 | tee "$parity_output"; then
if ! pezkuwi-publish --color always prdoc --since old --validate prdoc/pr_$PR.prdoc $PRDOC_EXTRA_ARGS -v --toolchain $TOOLCHAIN 2>&1 | tee "$parity_output"; then
# Check if there are missing crates (files changed but not listed in prdoc)
if grep -q "Files changed but crate not listed in PR Doc" "$parity_output"; then
@@ -202,7 +202,7 @@ jobs:
rm -f "$minor_patch_temp"
if [ "$has_validate_false" = true ]; then
echo "️ Found minor/patch bumps with validate: false override. Semver validation was skipped for these crates by kurdistan-tech-publish."
echo "️ Found minor/patch bumps with validate: false override. Semver validation was skipped for these crates by pezkuwi-publish."
fi
fi
+1 -1
View File
@@ -18,5 +18,5 @@ jobs:
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: 'We have migrated the command bot to GHA<br/><br/>Please, see the new usage instructions <a href="https://github.com/pezkuwichain/pezkuwi-sdk/blob/master/docs/contributor/commands-readme.md">here</a> or <a href="https://forum.kurdistan-tech.io/t/streamlining-weight-generation-and-more-the-new-cmd-bot/2411">here</a>. Soon the old commands will be disabled.'
body: 'We have migrated the command bot to GHA<br/><br/>Please, see the new usage instructions <a href="https://github.com/pezkuwichain/pezkuwi-sdk/blob/master/docs/contributor/commands-readme.md">here</a> or <a href="https://forum.pezkuwichain.io/t/streamlining-weight-generation-and-more-the-new-cmd-bot/2411">here</a>. Soon the old commands will be disabled.'
})
+2 -2
View File
@@ -60,7 +60,7 @@ jobs:
- run: mv ./target/doc ./crate-docs
- name: Inject Simple Analytics script
run: |
script_content="<script async defer src=\"https://apisa.kurdistan-tech.io/latest.js\"></script><noscript><img src=\"https://apisa.kurdistan-tech.io/latest.js\" alt=\"\" referrerpolicy=\"no-referrer-when-downgrade\" /></noscript>"
script_content="<script async defer src=\"https://apisa.pezkuwichain.io/latest.js\"></script><noscript><img src=\"https://apisa.pezkuwichain.io/latest.js\" alt=\"\" referrerpolicy=\"no-referrer-when-downgrade\" /></noscript>"
docs_dir="./crate-docs"
inject_simple_analytics() {
@@ -167,7 +167,7 @@ jobs:
sed -i.bak '/extraheader/d' ./.git/config
echo "${Green}Git push${NC}"
git config user.email "ci@kurdistan-tech.io"
git config user.email "ci@pezkuwichain.io"
git config user.name "${APP_NAME}"
git commit --amend -m "___Updated docs" || echo "___Nothing to commit___"
git push origin gh-pages --force
+12 -12
View File
@@ -31,9 +31,9 @@ jobs:
with:
save-if: ${{ github.ref == 'refs/heads/master' }}
- name: install kurdistan-tech-publish
- name: install pezkuwi-publish
run: |
cargo install kurdistan-tech-publish@0.10.6 --locked -q
cargo install pezkuwi-publish@0.10.6 --locked -q
- name: set current PR's prdoc name in a variable
env:
@@ -41,20 +41,20 @@ jobs:
run: |
echo "CURRENT_PRDOC=pr_${GITHUB_PR_NUM}.prdoc" >> $GITHUB_ENV
- name: kurdistan-tech-publish update plan w/o current prdoc
- name: pezkuwi-publish update plan w/o current prdoc
run: |
if [ -f prdoc/$CURRENT_PRDOC ]; then
mv prdoc/$CURRENT_PRDOC .
fi
kurdistan-tech-publish --color always plan --skip-check --prdoc prdoc/
pezkuwi-publish --color always plan --skip-check --prdoc prdoc/
# The code base is not in master's state (due to commits brought by the
# current PR), but we're interested in all master's prdocs to be applied
# as if master is a stable branch, and in next steps we're following up with
# a patch release of all crates based on some newly added prdocs
# (meaning only the current prdoc).
- name: kurdistan-tech-publish apply plan on the code state prior to current prdoc
run: kurdistan-tech-publish --color always apply --registry
- name: pezkuwi-publish apply plan on the code state prior to current prdoc
run: pezkuwi-publish --color always apply --registry
- name: move all prdocs except current one to unstable dir
run: |
@@ -64,21 +64,21 @@ jobs:
mv $CURRENT_PRDOC prdoc
fi
- name: kurdistan-tech-publish update plan just for PR's prdoc
- name: pezkuwi-publish update plan just for PR's prdoc
run: |
if [ -f "prdoc/$CURRENT_PRDOC" ]; then
kurdistan-tech-publish --color always plan --skip-check --prdoc prdoc/
pezkuwi-publish --color always plan --skip-check --prdoc prdoc/
fi
- name: kurdistan-tech-publish apply plan
- name: pezkuwi-publish apply plan
run: |
if [ -f "prdoc/$CURRENT_PRDOC" ]; then
kurdistan-tech-publish --color always apply --registry
pezkuwi-publish --color always apply --registry
fi
- name: kurdistan-tech-publish check compile
- name: pezkuwi-publish check compile
run: |
packages="$(kurdistan-tech-publish apply --print)"
packages="$(pezkuwi-publish apply --print)"
if [ -n "$packages" ]; then
cargo --color always check $(printf -- '-p %s ' $packages)
@@ -92,7 +92,7 @@ jobs:
git config --global commit.gpgsign true
git config --global gpg.program /home/runner/.local/bin/pgpkms-git
git config --global user.name "ParityReleases"
git config --global user.email "release-team@kurdistan-tech.io"
git config --global user.email "release-team@pezkuwichain.io"
git config --global user.signingKey "D8018FBB3F534D866A45998293C5FB5F6A367B51"
- name: Create stable branch
@@ -17,7 +17,7 @@ jobs:
matrix:
channel:
- name: "RelEng: Pezkuwi Release Coordination"
room: '!cqAmzdIcbOFwrdrubV:kurdistan-tech.io'
room: '!cqAmzdIcbOFwrdrubV:pezkuwichain.io'
environment: release
env:
PGP_KMS_KEY: ${{ secrets.PGP_KMS_SIGN_COMMITS_KEY }}
@@ -57,7 +57,7 @@ jobs:
git config --global commit.gpgsign true
git config --global gpg.program /home/runner/.local/bin/pgpkms-git
git config --global user.name "ParityReleases"
git config --global user.email "release-team@kurdistan-tech.io"
git config --global user.email "release-team@pezkuwichain.io"
git config --global user.signingKey "D8018FBB3F534D866A45998293C5FB5F6A367B51"
- name: Compute next rc tag
@@ -101,6 +101,6 @@ jobs:
with:
room_id: ${{ matrix.channel.room }}
access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }}
server: m.kurdistan-tech.io
server: m.pezkuwichain.io
message: |
Release process for pezkuwi ${{ steps.compute_tag.outputs.new_tag }} has been started.<br/>
@@ -292,7 +292,7 @@ jobs:
matrix:
channel:
- name: "Team: RelEng Internal"
room: '!GvAyzgCDgaVrvibaAF:kurdistan-tech.io'
room: '!GvAyzgCDgaVrvibaAF:pezkuwichain.io'
steps:
- name: Send Matrix message to ${{ matrix.channel.name }}
@@ -300,7 +300,7 @@ jobs:
with:
room_id: ${{ matrix.channel.room }}
access_token: ${{ secrets.RELEASENOTES_MATRIX_V2_ACCESS_TOKEN }}
server: m.kurdistan-tech.io
server: m.pezkuwichain.io
message: |
**New version of pezkuwi tagged**: ${{ needs.validate-inputs.outputs.release_tag }}<br/>
And release draft is release created in [pezkuwi-sdk repo](https://github.com/pezkuwichain/pezkuwi-sdk/releases)
@@ -38,7 +38,7 @@ on:
description: Owner of the container image repo
required: true
type: string
default: kurdistan-tech
default: pezkuwichain
version:
description: Version of the pezkuwi node release in format v1.16.0 or v1.16.0-rc1
@@ -73,7 +73,7 @@ on:
description: Owner of the container image repo
required: true
type: string
default: kurdistan-tech
default: pezkuwichain
version:
description: Version of the pezkuwi node release in format v1.16.0 or v1.16.0-rc1
@@ -47,7 +47,7 @@ jobs:
git config --global commit.gpgsign true
git config --global gpg.program /home/runner/.local/bin/pgpkms-git
git config --global user.name "ParityReleases"
git config --global user.email "release-team@kurdistan-tech.io"
git config --global user.email "release-team@pezkuwichain.io"
git config --global user.signingKey "D8018FBB3F534D866A45998293C5FB5F6A367B51"
- name: Create old release tag
@@ -64,7 +64,7 @@ jobs:
echo "Using pgpkms-git at: $PGPKMS_PATH"
git config --global gpg.program "$PGPKMS_PATH"
git config --global user.name "ParityReleases"
git config --global user.email "release-team@kurdistan-tech.io"
git config --global user.email "release-team@pezkuwichain.io"
git config --global user.signingKey "D8018FBB3F534D866A45998293C5FB5F6A367B51"
- name: Bump NODE_VERSION for pezkuwi
@@ -51,7 +51,7 @@ on:
description: Owner of the container image repo
required: true
type: string
default: kurdistan-tech
default: pezkuwichain
version:
description: Version for Docker tags in format v1.16.0 or v1.16.0-rc1
+1 -1
View File
@@ -46,7 +46,7 @@ jobs:
shell: bash
run: |
if [[ "${{ inputs.binary }}" == "pezkuwi-teyrchain" ]]; then
echo "RUNNER=kurdistan-tech-large" >> $GITHUB_OUTPUT
echo "RUNNER=pezkuwichain-large" >> $GITHUB_OUTPUT
else
echo "RUNNER=ubuntu-latest" >> $GITHUB_OUTPUT
fi
+1 -1
View File
@@ -37,7 +37,7 @@ jobs:
COMMIT=$(git rev-parse tags/$AUDITED)
#$(git branch --contains $COMMIT | grep -q $UNSTABLE) || (echo "The '$AUDITED' tag is not on the '$UNSTABLE' branch." && exit 1)
git config --global user.email "admin@kurdistan-tech.io"
git config --global user.email "admin@pezkuwichain.io"
git config --global user.name "Kurdistan-Tech Release Team"
- name: Prepare commit
@@ -167,7 +167,7 @@ jobs:
- name: Set workspace environment variable
# relevant for artifacts upload, which can not interpolate Github Action variable syntax when
# used within valid paths. We can not use root-based paths either, since it is set as read-only
# on the `kurdistan-tech-macos` runner.
# on the `pezkuwichain-macos` runner.
run: echo "ARTIFACTS_PATH=${GITHUB_WORKSPACE}/artifacts/${{ matrix.binaries }}" >> $GITHUB_ENV
- name: Set up Homebrew
+2 -2
View File
@@ -38,7 +38,7 @@ on:
RUNNER_OLDLINUX:
value: ${{ jobs.preflight.outputs.RUNNER_OLDLINUX }}
description: |
kurdistan-tech-oldlinux
pezkuwichain-oldlinux
By default we use spot machines that can be terminated at any time.
Merge queues use persistent runners to avoid kicking off from queue when the runner is terminated.
# New is used only during transition to the new runners
@@ -51,7 +51,7 @@ on:
RUNNER_OLDLINUX_NEW:
value: ${{ jobs.preflight.outputs.RUNNER_OLDLINUX_NEW }}
description: |
kurdistan-tech-oldlinux
pezkuwichain-oldlinux
By default we use spot machines that can be terminated at any time.
Merge queues use persistent runners to avoid kicking off from queue when the runner is terminated.
RUNNER_DEFAULT: