Skip to content
Open
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions .github/workflows/playwright-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Testes de Sanidade com Playwright

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
test-on-ubuntu:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18'

- name: Install dependencies
run: npm ci

- name: Install Playwright browsers
run: npx playwright install --with-deps

- name: Garantir permissão de execução do launcher
run: chmod +x ./agi-launcher-universal-v3.sh

- name: Iniciar app em background
run: |
./agi-launcher-universal-v3.sh --Debug &
sleep 10 # Tempo para inicialização do app

- name: Rodar testes Playwright
run: npx playwright test

test-on-windows:
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18'

- name: Install dependencies
run: npm ci

- name: Install Playwright browsers
run: npx playwright install --with-deps

- name: Iniciar app via launcher
run: |
.\agi-launcher-universal-v3.sh --Debug
sleep 10 # Tempo para inicialização do app

- name: Rodar testes Playwright
run: npx playwright test
23 changes: 23 additions & 0 deletions .github/workflows/pylint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Pylint

on: [push]

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pylint
- name: Analysing the code with pylint
run: |
pylint $(git ls-files '*.py')
70 changes: 70 additions & 0 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# This workflow will upload a Python Package to PyPI when a release is created
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Upload Python Package

on:
release:
types: [published]

permissions:
contents: read

jobs:
release-build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: "3.x"

- name: Build release distributions
run: |
# NOTE: put your own distribution build steps here.
python -m pip install build
python -m build
- name: Upload distributions
uses: actions/upload-artifact@v4
with:
name: release-dists
path: dist/

pypi-publish:
runs-on: ubuntu-latest
needs:
- release-build
permissions:
# IMPORTANT: this permission is mandatory for trusted publishing
id-token: write

# Dedicated environments with protections for publishing are strongly recommended.
# For more information, see: https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-protection-rules
environment:
name: pypi
# OPTIONAL: uncomment and update to include your PyPI project URL in the deployment status:
# url: https://pypi.org/p/YOURPROJECT
#
# ALTERNATIVE: if your GitHub Release name is the PyPI project version string
# ALTERNATIVE: exactly, uncomment the following line instead:
# url: https://pypi.org/project/YOURPROJECT/${{ github.event.release.name }}

steps:
- name: Retrieve release distributions
uses: actions/download-artifact@v4
with:
name: release-dists
path: dist/

- name: Publish release distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: dist/
115 changes: 115 additions & 0 deletions .github/workflows/release/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
name: 🚀 AGI Multiplatform Release

on:
push:
tags:
- "v*"
workflow_dispatch:
inputs:
version:
description: "Versão manual (ex: v0.91)"
required: false

permissions:
contents: write

env:
NODE_VERSION: 20
RELEASE_DIR: release

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
name: Build ${{ matrix.os }}
steps:
- name: 🧩 Checkout
uses: actions/checkout@v4

- name: ⚙️ Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn

- name: 📦 Install dependencies
run: yarn install --frozen-lockfile

- name: 🏗️ Build AGI for ${{ matrix.os }}
run: |
mkdir -p $RELEASE_DIR
yarn build

- name: 📁 Upload artifacts
uses: actions/upload-artifact@v4
with:
name: agi-${{ matrix.os }}
path: ${{ env.RELEASE_DIR }}/

android:
runs-on: ubuntu-latest
name: Build Android (Bubblewrap)
steps:
- uses: actions/checkout@v4

- name: ⚙️ Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}

- name: 📦 Install Bubblewrap
run: npm i -g @bubblewrap/cli

- name: 📲 Build Android APK/AAB
run: |
mkdir -p $RELEASE_DIR
yarn build:android

- name: 📁 Upload Android artifacts
uses: actions/upload-artifact@v4
with:
name: agi-android
path: ${{ env.RELEASE_DIR }}/

release:
runs-on: ubuntu-latest
needs: [build, android]
name: 📤 Publish GitHub Release
steps:
- name: 🧩 Checkout
uses: actions/checkout@v4

- name: 📥 Download all artifacts
uses: actions/download-artifact@v4
with:
path: ${{ env.RELEASE_DIR }}

- name: 🧾 List release contents
run: ls -R $RELEASE_DIR

- name: 🏷️ Determine version
id: version
run: |
echo "tag=${GITHUB_REF##*/}" >> $GITHUB_OUTPUT

- name: 🚀 Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.version.outputs.tag }}
name: "AGI ${{ steps.version.outputs.tag }}"
body: |
AGI Release ${{ steps.version.outputs.tag }}

**Includes:**
- Windows `.exe`
- Linux `.AppImage` `.deb` `.rpm`
- macOS `.app`
- Android `.apk` `.aab`

**Auto-generated by**: GitHub Actions 🚀
files: |
${{ env.RELEASE_DIR }}/**/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
38 changes: 38 additions & 0 deletions .github/workflows/test-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Test Build Sanity

on:
push:
branches:
- main

jobs:
test-on-ubuntu:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Run AGI Launcher on Ubuntu
run: ./agi-launcher-universal-v3.sh --dry-run
# O --dry-run aqui apenas valida o build, sem abri-lo de fato.
# Em um teste real, você rodaria sem o --dry-run para iniciar o app.

test-on-macos:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Run AGI Launcher on macOS
run: ./agi-launcher-universal-v3.sh --dry-run

test-on-windows:
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Run AGI Launcher on Windows (via Git Bash)
# O Git Bash já está disponível nos runners do Windows
shell: bash
run: ./agi-launcher-universal-v3.sh --dry-run
49 changes: 49 additions & 0 deletions FIRESTARTER_PROPOSAL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# [FIP-XX] Proposta de Integração: Aurum Grid como Infraestrutura de Auditoria Oficial da Firestarter DAO

**Autor:** Equipe Aurum Grid
**Status:** Rascunho
**Token Vinculado:** `0xB84e515484B39ba3DB2d513A5708533dEfB3FDF6` (FIRE)

## Resumo

Propomos a integração formal do **Aurum Grid** como a infraestrutura de auditoria descentralizada e oficial da **Firestarter DAO**. Esta parceria estratégica designará o Aurum Grid como responsável por validar lockups cross-chain, ancorar evidências criptográficas no Arweave (AO) e gerar métricas de governança transparentes para todo o ecossistema Firestarter. A governança do Aurum Grid e os incentivos para operadores de nós serão vinculados diretamente ao token FIRE, agregando utilidade e valor aos seus detentores.

## Motivação

O cenário de finanças descentralizadas (DeFi) enfrenta um desafio crítico: a segurança em transações cross-chain. Apenas em 2024, mais de US$ 2 bilhões foram perdidos em fraudes e exploits, majoritariamente devido à falta de auditoria imutável e em tempo real. As soluções atuais são lentas, centralizadas e caras, representando um risco sistêmico para DAOs como a Firestarter.

O Aurum Grid foi projetado para resolver exatamente este problema, oferecendo um sistema de verificação rápido (< 30s), de baixo custo (US$ 0,002/registro) e criptograficamente seguro. Ao adotar o Aurum Grid, a Firestarter DAO não apenas protege seus próprios ativos e os de seus usuários, mas também se posiciona como líder em segurança e transparência no ecossistema Web3.

## Especificação Técnica da Integração

A integração será implementada em quatro fases principais:

1. **Governança e Operação de Nós por Holders de FIRE:**
* Um **snapshot** dos detentores do token FIRE (`0xB84e...`) será realizado para criar uma whitelist de endereços elegíveis para operar nós de auditoria do Aurum Grid.
* Isso garante que a segurança da rede de auditoria esteja nas mãos da comunidade Firestarter.

2. **Rastreabilidade e Vinculação On-chain:**
* Cada lockup validado pelo Aurum Grid será registrado no Arweave (AO) com um conjunto de metadados que inclui uma tag específica: `DAO: Firestarter`.
* Isso cria uma trilha de auditoria pública e imutável, vinculando permanentemente a atividade ao ecossistema da Firestarter.

3. **Transparência via Dashboard Público:**
* Um dashboard será lançado em `https://dashboard.aurumgrid.org/dao/firestarter`.
* Ele exibirá métricas em tempo real, como **TVL Auditado**, **latência de ancoragem** e um **Governance Score** agregado, oferecendo transparência total para a comunidade.

4. **Incentivos Alinhados:**
* Operadores de nós de auditoria que mantiverem seus listeners ativos e operarem honestamente receberão **recompensas periódicas em tokens FIRE**.
* Este mecanismo incentiva a participação ativa e a segurança da rede, criando um ciclo de valor positivo para os detentores de FIRE.

## Votação

* **Opção 1: SIM** - Aprovar a integração do Aurum Grid como infraestrutura de auditoria oficial da Firestarter DAO.
* **Opção 2: NÃO** - Rejeitar a integração.

## Próximos Passos (Se Aprovado)

1. **Anúncio Oficial:** Comunicado conjunto sobre a parceria estratégica.
2. **Execução do Snapshot:** Realização do snapshot dos holders de FIRE para compilar a whitelist inicial de operadores de nós.
3. **Desenvolvimento do Contrato de Rewards:** Criação e auditoria do smart contract para distribuição de recompensas em FIRE.
4. **Lançamento do Dashboard:** Disponibilização do dashboard público com as métricas da DAO.

Esta proposta representa um passo fundamental para solidificar a Firestarter DAO como um pilar de segurança e inovação no espaço DeFi.
Loading