Files
peyawallet/.gitea/workflows/build.yml
T
Codex Bot 647d278200
build / Build Linux wallet (push) Failing after 1m57s
build / Build Windows wallet (push) Has been cancelled
Tighten wallet packaging and node defaults
2026-04-11 10:55:44 +02:00

170 lines
5.2 KiB
YAML

name: build
run-name: build wallet (peya=${{ inputs.peya_release_tag || 'latest' }}, monero_c=${{ inputs.monero_c_release_tag || 'latest' }})
on:
workflow_dispatch:
inputs:
peya_release_tag:
description: Peya release tag to bundle runtime from
required: false
default: latest
monero_c_release_tag:
description: monero_c release tag to bundle runtime from
required: false
default: latest
push:
branches:
- develop
paths:
- ".gitea/workflows/build.yml"
- "scripts/ci/**"
- "lib/**"
- "linux/**"
- "monero_c"
- "windows/**"
- "pubspec.yaml"
- "pubspec.lock"
- "README.md"
- ".gitmodules"
jobs:
build-linux:
name: Build Linux wallet
runs-on: ubuntu-22.04
env:
PEYA_RELEASE_TAG: ${{ inputs.peya_release_tag }}
MONERO_C_RELEASE_TAG: ${{ inputs.monero_c_release_tag }}
steps:
- name: Checkout
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 1
submodules: false
- name: Configure Gitea auth for monero_c submodule
env:
PEYAWALLET_GITEA_PAT: ${{ secrets.PEYAWALLET_GITEA_PAT }}
PEYA_GITEA_PAT: ${{ secrets.PEYA_GITEA_PAT }}
GITEA_PAT: ${{ secrets.GITEA_PAT }}
run: |
set -euo pipefail
AUTH_TOKEN="${PEYAWALLET_GITEA_PAT:-${PEYA_GITEA_PAT:-${GITEA_PAT:-}}}"
if [ -n "${AUTH_TOKEN}" ]; then
git config --global url."http://tiamak:${AUTH_TOKEN}@54.38.205.168:3000/".insteadOf "http://54.38.205.168:3000/"
fi
git submodule sync
git -c protocol.version=2 submodule update --init --force monero_c
- name: Install Linux build dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libayatana-appindicator3-dev \
clang \
cmake \
curl \
libgtk-3-dev \
liblzma-dev \
ninja-build \
pkg-config \
python3 \
xz-utils
- name: Setup Flutter
uses: https://github.com/subosito/flutter-action@v2
with:
channel: stable
- name: Stage runtime from releases
env:
PEYAWALLET_GITEA_PAT: ${{ secrets.PEYAWALLET_GITEA_PAT }}
PEYA_GITEA_PAT: ${{ secrets.PEYA_GITEA_PAT }}
MONERO_C_GITEA_PAT: ${{ secrets.MONERO_C_GITEA_PAT }}
GITEA_PAT: ${{ secrets.PEYA_GITEA_PAT }}
run: |
python3 scripts/ci/stage_release_runtime.py \
--platform linux \
--peya-tag "${PEYA_RELEASE_TAG:-latest}" \
--monero-c-tag "${MONERO_C_RELEASE_TAG:-latest}" \
--repo-root .
- name: Fetch Dart/Flutter deps
run: |
flutter pub get
- name: Build Linux release
run: |
flutter build linux --release
- name: Upload Linux bundle
uses: https://github.com/actions/upload-artifact@v3
with:
name: peyawallet-linux-release
path: build/linux/x64/release/bundle/**
if-no-files-found: error
build-windows:
name: Build Windows wallet
runs-on: windows-latest
env:
PEYA_RELEASE_TAG: ${{ inputs.peya_release_tag }}
MONERO_C_RELEASE_TAG: ${{ inputs.monero_c_release_tag }}
steps:
- name: Checkout
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 1
submodules: false
- name: Configure Gitea auth for monero_c submodule
shell: bash
env:
PEYAWALLET_GITEA_PAT: ${{ secrets.PEYAWALLET_GITEA_PAT }}
PEYA_GITEA_PAT: ${{ secrets.PEYA_GITEA_PAT }}
GITEA_PAT: ${{ secrets.GITEA_PAT }}
run: |
set -euo pipefail
AUTH_TOKEN="${PEYAWALLET_GITEA_PAT:-${PEYA_GITEA_PAT:-${GITEA_PAT:-}}}"
if [ -n "${AUTH_TOKEN}" ]; then
git config --global url."http://tiamak:${AUTH_TOKEN}@54.38.205.168:3000/".insteadOf "http://54.38.205.168:3000/"
fi
git submodule sync
git -c protocol.version=2 submodule update --init --force monero_c
- name: Stage runtime from releases
shell: bash
env:
PEYA_GITEA_PAT: ${{ secrets.PEYA_GITEA_PAT }}
GITEA_PAT: ${{ secrets.PEYA_GITEA_PAT }}
PEYAWALLET_GITEA_PAT: ${{ secrets.PEYA_GITEA_PAT }}
MONERO_C_GITEA_PAT: ${{ secrets.PEYA_GITEA_PAT }}
run: |
set -euo pipefail
python -u scripts/ci/stage_release_runtime.py \
--platform windows \
--peya-tag "${PEYA_RELEASE_TAG:-latest}" \
--monero-c-tag "${MONERO_C_RELEASE_TAG:-latest}" \
--repo-root .
- name: Show toolchain
shell: bash
run: |
flutter doctor -v
- name: Fetch Dart/Flutter deps
shell: bash
run: |
flutter pub get
- name: Build Windows release
shell: bash
run: |
flutter build windows --release
- name: Upload Windows bundle
uses: https://github.com/actions/upload-artifact@v3
with:
name: peyawallet-windows-release
path: build/windows/x64/runner/Release/**
if-no-files-found: error