Skip to content

Delete web3 cache by deactivating pairings #191

Delete web3 cache by deactivating pairings

Delete web3 cache by deactivating pairings #191

Workflow file for this run

name: Build and release syrius
on:
push:
branches-ignore:
- master
tags:
- '*'
workflow_dispatch:
env:
FLUTTER_VERSION: "3.19.x"
jobs:
build-macos:
runs-on: macos-12
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout zenon-node-database repository
uses: actions/checkout@v4
with:
repository: HyperCore-One/zenon-node-database
path: ./node-db
ref: main
- name: Copy community nodes
run: cp -r ./node-db/rpc-nodes-mainnet.json ./assets/community-nodes.json
- name: Setup environment
run: |
brew install unzip create-dmg
brew cleanup
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: ${{env.FLUTTER_VERSION}}
channel: "stable"
- name: Check flutter version
run: flutter --version
- name: Build syrius desktop
run: |
flutter config --enable-macos-desktop
flutter build macos --release
- name: Package into DMG
run: |
create-dmg --volname syrius \
--volicon macos/dmg/volume.icns \
--icon "s\ y\ r\ i\ u\ s.app" 210 175 \
--icon-size 90 \
--app-drop-link 390 175 \
--text-size 14 \
--background macos/dmg/background.png \
--window-pos 300 200 \
--window-size 600 325 \
--hide-extension "s\ y\ r\ i\ u\ s.app" \
--format ULFO \
--hdiutil-verbose syrius-alphanet-macos-universal.dmg build/macos/Build/Products/Release/s\ y\ r\ i\ u\ s.app \
syrius-alphanet-macos-universal.dmg build/macos/Build/Products/Release/s\ y\ r\ i\ u\ s.app
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: macos-artifacts
path: syrius-alphanet-macos-universal.dmg
build-windows:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout zenon-node-database repository
uses: actions/checkout@v4
with:
repository: HyperCore-One/zenon-node-database
path: ./node-db
ref: main
- name: Copy community nodes
shell: pwsh
run: Copy-Item .\node-db\rpc-nodes-mainnet.json .\assets\community-nodes.json -Force
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: ${{env.FLUTTER_VERSION}}
channel: "stable"
- name: Check flutter version
run: flutter --version
- name: Build syrius desktop
run: |
flutter config --enable-windows-desktop
flutter build windows --release
- name: Package into zip
run: |
Compress-Archive -Path build\windows\x64\runner\Release\* -DestinationPath .\syrius-alphanet-windows-amd64.zip
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: windows-artifacts
path: syrius-alphanet-windows-amd64.zip
build-linux:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout zenon-node-database repository
uses: actions/checkout@v4
with:
repository: HyperCore-One/zenon-node-database
path: ./node-db
ref: main
- name: Copy community nodes
run: cp -r ./node-db/rpc-nodes-mainnet.json assets/community-nodes.json
- name: Prepare environment
run: |
sudo apt update
sudo apt install -y curl clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev unzip xz-utils zip libnotify-dev libayatana-appindicator3-dev
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: ${{env.FLUTTER_VERSION}}
channel: "stable"
- name: Set permissions
run: |
sudo chmod -R 777 linux/
- name: Check flutter version
run: |
which flutter
flutter --version
- name: Build syrius desktop
run: |
flutter config --enable-linux-desktop
flutter build linux --release -v
- name: Package zip
run: |
cd build/linux/x64/release/bundle
zip -r ../../../../../syrius-alphanet-linux-amd64.zip *
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: linux-artifacts
path: syrius-alphanet-linux-amd64.zip
make-release:
needs: [build-macos, build-windows, build-linux]
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v')
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set variables
run: |
echo "SYRIUS_VERSION=${{ github.ref }}" >> $GITHUB_ENV
echo "Syrius Version: $SYRIUS_VERSION"
GOZENON=$(curl -s https://raw.githubusercontent.com/zenon-network/go-zenon/master/metadata/version.go | grep Version | awk -F '"' '{print $2}')
echo "Go-Zenon Version: $GOZENON"
BODY=$(cat <<EOF
Syrius $SYRIUS_VERSION features the pre-release version of the [go-zenon](https://github.com/zenon-network/go-zenon) $GOZENON full node.
Syrius for Windows requires Microsoft Visual C++ to be installed.
[Download Microsoft Visual C++](https://aka.ms/vs/16/release/vc_redist.x64.exe)
Github Action Context information
Git reference: ${{ github.ref }}
Repository URL: ${{ github.repositoryUrl }}
Run ID: ${{ github.run_id }}
Commit hash: ${{ github.sha }}
Workflow hash: ${{ github.workflow_sha }}
EOF
)
echo "$BODY"
echo "BODY<<EOFMARKER" >> ${GITHUB_ENV}
echo "${BODY}" >> ${GITHUB_ENV}
echo "EOFMARKER" >> ${GITHUB_ENV}
- name: Prepare releases directory
run: mkdir releases
- name: Download macOS artifacts
uses: actions/download-artifact@v4
with:
name: macos-artifacts
- name: Download Windows artifacts
uses: actions/download-artifact@v4
with:
name: windows-artifacts
- name: Download Linux artifacts
uses: actions/download-artifact@v4
with:
name: linux-artifacts
- name: Prepare releases
run: |
cp syrius-alphanet-windows-amd64.zip releases/
cp syrius-alphanet-macos-universal.dmg releases/
cp syrius-alphanet-linux-amd64.zip releases/
- name: Generate checksums
run: |
cd releases/
echo $(sha256sum *)
echo $(sha256sum *) >> SHA256CHECKSUMS.txt
- name: Upload files to a GitHub release
uses: svenstaro/[email protected]
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
release_name: ${{ env.SYRIUS_VERSION }}
prerelease: ${{ contains(env.SYRIUS_VERSION, '-') }}
tag: ${{ env.SYRIUS_VERSION }}
file_glob: true
file: releases/*
overwrite: true
body: ${{ env.BODY }}