Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ AKASH_DEVCACHE_VERSIONS=${AKASH_DEVCACHE}/versions
AKASH_DEVCACHE_NODE_MODULES=${AKASH_DEVCACHE}
AKASH_DEVCACHE_NODE_BIN=${AKASH_DEVCACHE_NODE_MODULES}/node_modules/.bin
AKASH_RUN=${AKASH_DEVCACHE}/run
AKASH_RUN_BIN=${AKASH_RUN}/bin
89 changes: 62 additions & 27 deletions .envrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,72 +2,107 @@ direnv_version_major=$(direnv version | cut -d "." -f1 | tr -d '\n')
direnv_version_minor=$(direnv version | cut -d "." -f2 | tr -d '\n')

if [[ $direnv_version_major -lt 2 ]] || [[ $direnv_version_major -eq 2 ]] && [[ $direnv_version_minor -lt 32 ]]; then
echo -e "\033[31munsupported direnv version $(direnv version) < 2.32.x"
exit 1
echo -e "\033[31munsupported direnv version $(direnv version) < 2.32.x"
exit 1
fi

if [[ "$SHELL" == "bash" ]]; then
if [ "${BASH_VERSINFO:-0}" -lt 4 ]; then
echo -e "\033[31mthe environment needs BASH 4 or above" >&2
exit 1
fi
if [[ "$(ps -p "$$" -o 'comm=')" =~ "bash" ]]; then
if [ "${BASH_VERSINFO:-0}" -lt 4 ]; then
echo -e "\033[31mthe environment needs BASH 4 or above" >&2
exit 1
fi
fi

if ! has make ; then
echo "make is not installed"; exit 1
if ! has make; then
echo "make is not installed"
exit 1
fi

if ! has unzip ; then
echo "unzip is not installed"; exit 1
if ! has unzip; then
echo "unzip is not installed"
exit 1
fi

if ! has wget ; then
echo "wget is not installed"; exit 1
if ! has wget; then
echo "wget is not installed"
exit 1
fi

if ! has curl ; then
echo "curl is not installed"; exit 1
if ! has curl; then
echo "curl is not installed"
exit 1
fi

if ! has npm ; then
echo "npm is not installed"; exit 1
if ! has npm; then
echo "npm is not installed"
exit 1
fi

if ! has jq ; then
echo "jq is not installed"; exit 1
if ! has jq; then
echo "jq is not installed"
exit 1
fi

if ! has readlink ; then
echo "readlink is not installed"; exit 1
if ! has readlink; then
echo "readlink is not installed"
exit 1
fi

if ! has pv; then
echo "pv is not installed"
exit 1
fi

if ! has lz4; then
echo "lz4 is not installed"
exit 1
fi

if ! has git-cliff; then
echo "git-cliff is not installed"
exit 1
fi

if [ -z "$GOPATH" ]; then
GOPATH=$(go env GOPATH)
export GOPATH
GOPATH=$(go env GOPATH)
export GOPATH
fi

AKASH_ROOT=$(pwd)
export AKASH_ROOT

dotenv
dotenv_if_exists dev.env

TOOLS=${AKASH_ROOT}/script/tools.sh
SEMVER=${AKASH_ROOT}/script/semver.sh

GOTOOLCHAIN=$(${TOOLS} gotoolchain)
GOTOOLCHAIN_SEMVER=$(echo "${GOTOOLCHAIN}" | sed 's/go*/v/' | tr -d '\n')

dotenv_if_exists dev.env

if [[ ${GOWORK} != "off" ]] && [[ -f go.work ]]; then
GOWORK=${AKASH_ROOT}/go.work
else
GOWORK=off
fi

if [[ "$OSTYPE" == "darwin"* ]]; then
# on MacOS disable deprecation warnings security framework
CGO_CFLAGS=-Wno-deprecated-declarations
# on MacOS disable deprecation warnings security framework
CGO_CFLAGS=-Wno-deprecated-declarations

export CGO_CFLAGS
fi

export CGO_CFLAGS
if [ -z "${GOARCH}" ]; then
GOARCH=$(go env GOARCH)
export GOARCH
fi

export SEMVER
export GOTOOLCHAIN
export GOTOOLCHAIN_SEMVER
export GOWORK

PATH_add "$AKASH_DEVCACHE_NODE_BIN"
PATH_add "$AKASH_DEVCACHE_BIN"
Expand Down
1 change: 1 addition & 0 deletions .github/.repo
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github.com/akash-network/node
33 changes: 33 additions & 0 deletions .github/actions/setup-ubuntu/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: setup-ubuntu
runs:
using: 'composite'
steps:
- name: Fetch all tags
shell: bash
run: git fetch --prune --unshallow
- name: Install dependencies
# Shell must explicitly specify the shell for each step. https://github.com/orgs/community/discussions/18597
shell: bash
run: sudo apt install -y make direnv unzip lz4 wget curl npm jq pv coreutils
- name: Setup npm
uses: actions/setup-node@v4
with:
node-version: 18
- name: Install git-cliff
uses: baptiste0928/cargo-install@v3
with:
crate: git-cliff
- name: Detect required Go version
shell: bash
run: |
toolchain=$(./script/tools.sh gotoolchain | sed 's/go*//')
echo "GOVERSION=${toolchain}" >> $GITHUB_ENV
- uses: actions/setup-go@v5
with:
go-version: "${{ env.GOVERSION }}"
check-latest: true
- name: set environment
uses: HatsuneMiku3939/direnv-action@v1
with:
masks: ''
2 changes: 1 addition & 1 deletion .github/workflows/concommits.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: webiny/action-conventional-commits@v1.1.0
- uses: webiny/action-conventional-commits@v1.3.0
37 changes: 14 additions & 23 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,10 @@ jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: git fetch --prune --unshallow
- name: Detect required Go version
run: |
toolchain=$(./script/tools.sh gotoolchain | sed 's/go*//')
echo "GOVERSION=${toolchain}" >> $GITHUB_ENV
- uses: actions/setup-go@v5
with:
go-version: "${{ env.GOVERSION }}"
- name: set environment
uses: HatsuneMiku3939/direnv-action@v1
- name: Checkout code
uses: actions/checkout@v4
- name: Setup environment
uses: ./.github/actions/setup-ubuntu
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
Expand All @@ -45,21 +38,18 @@ jobs:
# using PAT as homebrew is located in different repo
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
test-network-upgrade-on-release:
runs-on: upgrade-tester
runs-on: gh-runner-test
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Address unknown runner label

The static analysis tool flagged gh-runner-test as an unknown runner label. If this is a custom self-hosted runner, ensure it's properly configured and consider documenting it in an actionlint.yaml config file.


🏁 Script executed:

#!/bin/bash
# Description: Check if actionlint.yaml config exists to define custom runner labels
# Expected: Either find the config file or confirm this is a valid self-hosted runner

echo "Checking for actionlint configuration..."
fd actionlint.yaml

Length of output: 111


Document custom runner label for actionlint

The workflow at .github/workflows/release.yaml:56 uses a self-hosted runner label gh-runner-test, but there’s no actionlint.yaml to whitelist it, so actionlint will continue flagging it as unknown. To resolve:

• If gh-runner-test is intended, add an actionlint.yaml at your repo root with:

runners:
  - gh-runner-test

• Otherwise, update the runs-on value to a valid GitHub-hosted or existing self-hosted label.

🧰 Tools
🪛 actionlint (1.7.7)

56-56: label "gh-runner-test" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

🤖 Prompt for AI Agents
In .github/workflows/release.yaml at line 56, the self-hosted runner label
"gh-runner-test" is not whitelisted in an actionlint.yaml file, causing
actionlint to flag it as unknown. To fix this, either create an actionlint.yaml
file at the repository root that includes "gh-runner-test" under the runners
list, or change the runs-on value to a valid GitHub-hosted or existing
self-hosted runner label.

needs:
- publish
steps:
- uses: actions/checkout@v4
- run: git fetch --prune --unshallow
- name: Detect required Go version
- name: Cleanup build folder
run: |
toolchain=$(./script/tools.sh gotoolchain | sed 's/go*//')
echo "GOVERSION=${toolchain}" >> $GITHUB_ENV
- uses: actions/setup-go@v5
with:
go-version: "${{ env.GOVERSION }}"
- name: set environment
uses: HatsuneMiku3939/direnv-action@v1
sudo rm -rf ./* || true
sudo rm -rf ./.??* || true
- name: Checkout code
uses: actions/checkout@v4
- name: Setup environment
uses: ./.github/actions/setup-ubuntu
- name: detect release tag
run: echo "RELEASE_TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
- name: configure variables
Expand All @@ -71,6 +61,7 @@ jobs:
env:
UPGRADE_BINARY_VERSION: ${{ env.RELEASE_TAG }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TEST_CONFIG: test-config-gha.json
run: |
cd tests/upgrade
make test
Expand All @@ -80,7 +71,7 @@ jobs:
with:
name: logs
path: |
.cache/run/upgrade/validators/logs/*.log
.cache/run/upgrade/validators/logs/.akash*.log

notify-homebrew:
runs-on: ubuntu-latest
Expand Down
Loading