Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
c0bd91d
Add initial Mirage node CLI structure and boot commands
Masterix0 Apr 17, 2025
4f69682
Implement mirage node commands (signature, backup, restore)
Masterix0 Apr 17, 2025
7c92d7a
Addressed review comments for PR #851 Draft
Masterix0 Apr 21, 2025
c802e19
Updated README to include Mirage commands and to have better formatti…
Masterix0 Apr 21, 2025
004ab12
Eliminated the step to make the pre-commit hook executable, as we'll …
Masterix0 Apr 21, 2025
d50df0f
Fix circular import for NodeType
Masterix0 Apr 21, 2025
2d896ae
Fixes incorrect NodeType import in `docker_utils.py`
Masterix0 Apr 21, 2025
826522f
Replaced sync_node flag with node_type in build_env_params.
Masterix0 Apr 22, 2025
b435e83
Updated helper-scripts
Masterix0 Apr 22, 2025
512eee8
Updated README Development section with more complete install instruc…
Masterix0 Apr 22, 2025
7dbab51
Updated static params handling by Checkers to ignore requirements tha…
Masterix0 Apr 22, 2025
bcc3a7f
Refactored `is_update_safe` tests with improved coverage.
Masterix0 Apr 22, 2025
09b5890
Fixed `is_update_safe` tests mock path
Masterix0 Apr 22, 2025
f9f09c4
Changed `is_base_containers_alive` to check both `mirage_` and `skale…
Masterix0 Apr 22, 2025
cc1150a
Reworked env.py tests; Introduced explicit node type parameters to re…
Masterix0 Apr 23, 2025
813c06f
Refactored functions to explicitly require the NodeType parameter, re…
Masterix0 Apr 23, 2025
420e9e5
Started fixing env validation tests
Masterix0 Apr 23, 2025
5ff0c2f
Removed unused import in env tests
Masterix0 Apr 23, 2025
1cc3a6d
Fixed broken tests; Adapted `validate_env_params` to work with params…
Masterix0 Apr 24, 2025
21f57c2
Added mirage build and verification steps to github actions test work…
Masterix0 Apr 24, 2025
a5ad689
Initial implementation of new core_node tests
Masterix0 Apr 24, 2025
0abf62d
Fixed updated `core_node_test.py`
Masterix0 Apr 24, 2025
55f50d1
Updated docker-compose checks test; Added mirage disabled package req…
Masterix0 Apr 24, 2025
d1a8ab8
Added simple `info` command CLI test
Masterix0 Apr 24, 2025
7a386c9
Added nginx template processing tests.
Masterix0 Apr 29, 2025
b76ec43
Added mirage core tests
Masterix0 Apr 29, 2025
85e161f
Added mirage CLI tests
Masterix0 Apr 29, 2025
3cdf90f
Fixed unused import
Masterix0 Apr 29, 2025
517623d
Addressed some comments in PR #851
Masterix0 May 6, 2025
d7d4662
Continued addressing comments from PR # 851.
Masterix0 May 6, 2025
24922dd
Continued addressing comments in PR # 851
Masterix0 May 8, 2025
5f105cc
Refactored publish pipeline to avoid code duplication
Masterix0 May 8, 2025
6997ef2
Added `update` command to mirage CLI
Masterix0 May 8, 2025
2473c70
Fixed unnecessary arguments
Masterix0 May 8, 2025
12dfa78
Updated codebase to use mirage_static_params.yaml for Mirage nodes.
Masterix0 May 12, 2025
3bd4b73
Removed unexistent import
Masterix0 May 12, 2025
0f0ab35
Fixed `configs_env_validate_test.py` tests
Masterix0 May 12, 2025
0c33f0f
Continued work in fixing tests after mirage static params changes
Masterix0 May 12, 2025
f65fb92
Fixed all tests that were broken due to mirage static params
Masterix0 May 12, 2025
f6c0c4f
Addressed comments for PR #851
Masterix0 May 13, 2025
119541d
Fixed unused imports
Masterix0 May 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
184 changes: 71 additions & 113 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ jobs:
branch: ${{ steps.export_outputs.outputs.branch }}
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: true

- name: Checkout submodules
run: git submodule update --init
run: git submodule update --init --recursive

- name: Install ubuntu dependencies
run: |
Expand Down Expand Up @@ -55,126 +55,84 @@ jobs:
release_name: ${{ env.VERSION }}
draft: false
prerelease: ${{ env.PRERELEASE }}

- name: Export outputs
id: export_outputs
run: |
echo "::set-output name=version::$VERSION"
echo "::set-output name=branch::$BRANCH"

build_and_publish_normal:
if: github.event.pull_request.merged
needs: create_release
name: Build and publish for ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-22.04
asset_name: skale-${{ needs.create_release.outputs.version }}-Linux-x86_64
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.11
uses: actions/setup-python@v1
with:
python-version: 3.11

- name: Install ubuntu dependencies
if: matrix.os == 'ubuntu-22.04'
run: |
sudo apt-get update

- name: Checkout submodules
run: git submodule update --init

- name: Build normal binary
run: |
mkdir -p ./dist
docker build . -t node-cli-builder
docker run -v /home/ubuntu/dist:/app/dist node-cli-builder scripts/build.sh ${{ needs.create_release.outputs.version }} ${{ needs.create_release.outputs.branch }} normal
ls -altr /home/ubuntu/dist/
docker rm -f $(docker ps -aq)

- name: Save sha512sum
run: |
sudo sha512sum /home/ubuntu/dist/${{ matrix.asset_name }} | sudo tee > /dev/null /home/ubuntu/dist/sha512sum

- name: Upload release binary
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: /home/ubuntu/dist/${{ matrix.asset_name }}
asset_name: ${{ matrix.asset_name }}
asset_content_type: application/octet-stream

- name: Upload release checksum
id: upload-release-checksum
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: /home/ubuntu/dist/sha512sum
asset_name: ${{ matrix.asset_name }}.sha512
asset_content_type: text/plain

build_and_publish_sync:
build_and_publish:
if: github.event.pull_request.merged
needs: create_release
name: Build and publish for ${{ matrix.os }}
name: Build and publish ${{ matrix.build_type }} for ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-22.04
asset_name: skale-${{ needs.create_release.outputs.version }}-Linux-x86_64-sync
os: [ubuntu-22.04]
build_type: [normal, sync, mirage]
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.11
uses: actions/setup-python@v1
with:
python-version: 3.11

- name: Install ubuntu dependencies
if: matrix.os == 'ubuntu-22.04'
run: |
sudo apt-get update

- name: Checkout submodules
run: git submodule update --init

- name: Build sync release binary
run: |
mkdir -p ./dist
docker build . -t node-cli-builder
docker run -v /home/ubuntu/dist:/app/dist node-cli-builder scripts/build.sh ${{ needs.create_release.outputs.version }} ${{ needs.create_release.outputs.branch }} sync
ls -altr /home/ubuntu/dist/
docker rm -f $(docker ps -aq)

- name: Save sha512sum
run: |
sudo sha512sum /home/ubuntu/dist/${{ matrix.asset_name }} | sudo tee > /dev/null /home/ubuntu/dist/sha512sum

- name: Upload release sync CLI
id: upload-sync-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: /home/ubuntu/dist/${{ matrix.asset_name }}
asset_name: ${{ matrix.asset_name }}
asset_content_type: application/octet-stream

- name: Upload release sync CLI checksum
id: upload-sync-release-checksum
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: /home/ubuntu/dist/sha512sum
asset_name: ${{ matrix.asset_name }}.sha512
asset_content_type: text/plain
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: true

- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: 3.11

- name: Install ubuntu dependencies
if: matrix.os == 'ubuntu-22.04'
run: |
sudo apt-get update

- name: Ensure submodules are updated
run: git submodule update --init --recursive

- name: Define Asset Name
id: asset_details
run: |
ASSET_BASE_NAME="skale-${{ needs.create_release.outputs.version }}-Linux-x86_64"
if [[ "${{ matrix.build_type }}" == "normal" ]]; then
echo "FINAL_ASSET_NAME=${ASSET_BASE_NAME}" >> $GITHUB_OUTPUT
else
echo "FINAL_ASSET_NAME=${ASSET_BASE_NAME}-${{ matrix.build_type }}" >> $GITHUB_OUTPUT
fi

- name: Build ${{ matrix.build_type }} release binary
run: |
mkdir -p ${{ github.workspace }}/dist
docker build . -t node-cli-builder
docker run --rm -v ${{ github.workspace }}/dist:/app/dist node-cli-builder \
scripts/build.sh ${{ needs.create_release.outputs.version }} ${{ needs.create_release.outputs.branch }} ${{ matrix.build_type }}
echo "Contents of dist directory:"
ls -altr ${{ github.workspace }}/dist/
docker rm -f $(docker ps -aq)

- name: Save sha512sum for ${{ steps.asset_details.outputs.FINAL_ASSET_NAME }}
run: |
cd ${{ github.workspace }}/dist
sha512sum ${{ steps.asset_details.outputs.FINAL_ASSET_NAME }} > ${{ steps.asset_details.outputs.FINAL_ASSET_NAME }}.sha512sum
echo "Checksum file created: ${{ steps.asset_details.outputs.FINAL_ASSET_NAME }}.sha512sum"
cat ${{ steps.asset_details.outputs.FINAL_ASSET_NAME }}.sha512sum

- name: Upload release binary (${{ matrix.build_type }})
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: ${{ github.workspace }}/dist/${{ steps.asset_details.outputs.FINAL_ASSET_NAME }}
asset_name: ${{ steps.asset_details.outputs.FINAL_ASSET_NAME }}
asset_content_type: application/octet-stream

- name: Upload release checksum (${{ matrix.build_type }})
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: ${{ github.workspace }}/dist/${{ steps.asset_details.outputs.FINAL_ASSET_NAME }}.sha512sum
asset_name: ${{ steps.asset_details.outputs.FINAL_ASSET_NAME }}.sha512
asset_content_type: text/plain
12 changes: 11 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- name: Install python dependencies
run: |
python -m pip install --upgrade pip
pip install -e .[dev]
pip install -e ".[dev]"

- name: Generate info
run: ./scripts/generate_info.sh 1.0.0 my-branch normal
Expand Down Expand Up @@ -57,6 +57,16 @@ jobs:
- name: Check build - sync
run: sudo /home/ubuntu/dist/skale-test-Linux-x86_64-sync

- name: Build binary - mirage
run: |
mkdir -p ./dist
docker build . -t node-cli-builder
docker run -v /home/ubuntu/dist:/app/dist node-cli-builder scripts/build.sh test test mirage
docker rm -f $(docker ps -aq)

- name: Check build - mirage
run: sudo /home/ubuntu/dist/skale-test-Linux-x86_64-mirage

- name: Run prepare test build
run: |
scripts/build.sh test test normal
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -122,3 +122,4 @@ test-env
nginx.conf
tests/.skale/node_data/docker.json
tests/.skale/node_data/node_options.json
tests/.skale/config/nginx.conf.j2
3 changes: 1 addition & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ COPY . .
ENV PATH=/app/buildvenv/bin:$PATH
ENV PYTHONPATH="{PYTHONPATH}:/usr/lib/python3/dist-packages"

RUN python3.11 -m venv /app/buildvenv && \
pip install --upgrade pip && \
RUN pip install --upgrade pip && \
pip install wheel setuptools==63.2.0 && \
pip install -e '.[dev]'
Loading
Loading