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
2 changes: 1 addition & 1 deletion .github/workflows/are_translations_sane.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on: [pull_request]

jobs:
PR_test_build:
runs-on: ubuntu-24.04
runs-on: puzl-ubuntu-latest

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/compare_overrides.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ permissions:

jobs:
compare-overrides:
runs-on: ubuntu-24.04
runs-on: puzl-ubuntu-latest

steps:
- uses: actions/checkout@v4
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/integration_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,6 @@ permissions:
packages: write

on:
pull_request:
branches: [dev]
paths-ignore:
- "**.md"
- "docs/**"
workflow_dispatch:

concurrency:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/no_http_imports.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on: [pull_request]

jobs:
PR_test_build:
runs-on: ubuntu-24.04
runs-on: puzl-ubuntu-latest

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/no_print_in_dart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on: [pull_request]

jobs:
PR_test_build:
runs-on: ubuntu-24.04
runs-on: puzl-ubuntu-latest

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/no_restricted_imports.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on: [pull_request]

jobs:
check_restricted_imports:
runs-on: ubuntu-24.04
runs-on: puzl-ubuntu-latest

steps:
- uses: actions/checkout@v4
Expand Down
235 changes: 212 additions & 23 deletions .github/workflows/pr_test_build_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,44 +10,238 @@ defaults:
run:
shell: bash

env:
CW_DOCKER_REGISTRY: ghcr.io/cake-tech/cake_wallet
CW_DOCKER_USE_CLOUD: "true"

jobs:
PR_test_build:
guard:
# Fork PRs don't have access to repository secrets, so the generated
# lib/.secrets.g.dart would be empty and the build fails to compile.
# Skip for forks, mirroring the Android workflow's internal-build guard.
if: github.event.pull_request.head.repo.fork == false
runs-on: [Linux, amd64, forlinux]
runs-on: puzl-ubuntu-latest
steps:
- run: echo "internal PR"

base:
needs: guard
runs-on: puzl-ubuntu-latest
timeout-minutes: 360
steps:
- uses: actions/checkout@v4
if: ${{ env.ACT != 'true' }}
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Docker sock permissions
run: sudo chmod 666 /var/run/docker.sock || true
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build base
run: ./scripts/linux/docker/build.sh --only base

bitbox:
needs: base
runs-on: puzl-ubuntu-latest
timeout-minutes: 360
steps:
- uses: actions/checkout@v4
if: ${{ env.ACT != 'true' }}
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Docker sock permissions
run: sudo chmod 666 /var/run/docker.sock || true
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build bitbox
run: ./scripts/linux/docker/build.sh --only bitbox

mwebd:
needs: base
runs-on: puzl-ubuntu-latest
timeout-minutes: 360
steps:
- uses: actions/checkout@v4
if: ${{ env.ACT != 'true' }}
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Docker sock permissions
run: sudo chmod 666 /var/run/docker.sock || true
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build mwebd
run: ./scripts/linux/docker/build.sh --only mwebd

reown:
needs: base
runs-on: puzl-ubuntu-latest
timeout-minutes: 360
steps:
- uses: actions/checkout@v4
if: ${{ env.ACT != 'true' }}
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Docker sock permissions
run: sudo chmod 666 /var/run/docker.sock || true
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build reown
run: ./scripts/linux/docker/build.sh --only reown

zcash:
needs: base
runs-on: puzl-ubuntu-latest
timeout-minutes: 360
steps:
- uses: actions/checkout@v4
if: ${{ env.ACT != 'true' }}
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Docker sock permissions
run: sudo chmod 666 /var/run/docker.sock || true
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build zcash
run: ./scripts/linux/docker/build.sh --only zcash

torch:
needs: base
runs-on: puzl-ubuntu-latest
timeout-minutes: 360
steps:
- uses: actions/checkout@v4
if: ${{ env.ACT != 'true' }}
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Docker sock permissions
run: sudo chmod 666 /var/run/docker.sock || true
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build torch
run: ./scripts/linux/docker/build.sh --only torch

monero:
needs: base
runs-on: puzl-ubuntu-latest
timeout-minutes: 360
strategy:
matrix:
coin: [monero, wownero]
steps:
- uses: actions/checkout@v4
if: ${{ env.ACT != 'true' }}
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Docker sock permissions
run: sudo chmod 666 /var/run/docker.sock || true
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build monero
run: ./scripts/linux/docker/build.sh --only monero --coin ${{ matrix.coin }} --target x86_64-linux-gnu

monero_merge:
needs: monero
runs-on: puzl-ubuntu-latest
timeout-minutes: 360
steps:
- uses: actions/checkout@v4
if: ${{ env.ACT != 'true' }}
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Docker sock permissions
run: sudo chmod 666 /var/run/docker.sock || true
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Merge monero
run: ./scripts/linux/docker/build.sh --only monero --merge

final:
needs: [bitbox, mwebd, reown, zcash, torch, monero_merge]
runs-on: puzl-ubuntu-latest
timeout-minutes: 360
steps:
- uses: actions/checkout@v4
if: ${{ env.ACT != 'true' }}
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Docker sock permissions
run: sudo chmod 666 /var/run/docker.sock || true
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build final
run: ./scripts/linux/docker/build.sh --only final

app:
needs: final
runs-on: puzl-ubuntu-latest
timeout-minutes: 360
container:
image: ghcr.io/cake-tech/cake_wallet:debian13-flutter3.41.9-ndkr28-go1.24.1-ruststablenightly
env:
STORE_PASS: test@cake_wallet
KEY_PASS: test@cake_wallet
MONEROC_CACHE_DIR_ROOT: /opt/generic_cache
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
DESKTOP_FORCE_MOBILE: Y
volumes:
- /opt/cw_cache_linux/root/.cache:/root/.cache
- /opt/cw_cache_linux/root/.ccache:/root/.ccache
- /opt/cw_cache_linux/root/.pub-cache/:/root/.pub-cache
- /opt/cw_cache_linux/root/go/pkg:/root/go/pkg
- /opt/cw_cache_linux/opt/generic_cache:/opt/generic_cache
- /var/run/docker.sock:/var/run/docker.sock

steps:
- name: Fix github actions messing up $HOME...
run: "echo HOME=/root | sudo tee -a $GITHUB_ENV"

- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- uses: actions/checkout@v4
if: ${{ env.ACT != 'true' }}
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}

- name: Docker sock permissions
run: sudo chmod 666 /var/run/docker.sock || true

- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
Expand Down Expand Up @@ -88,12 +282,8 @@ jobs:

echo "${{ secrets.MAIN_SECRETS_FILE }}" | base64 --decode > lib/.secrets.g.dart

- name: Build dependencies utilizing ghcr cache
run: |
env \
CW_DOCKER_REGISTRY=ghcr.io/cake-tech/cake_wallet \
CW_DOCKER_USE_CLOUD=true \
./scripts/linux/docker/build.sh
- name: Extract native dependencies
run: ./scripts/linux/docker/build.sh --extract

- name: Execute Build and Setup Commands
run: |
Expand Down Expand Up @@ -134,7 +324,6 @@ jobs:
path: ${{ github.workspace }}/build/linux/x64/release/cakewallet_linux.zip
name: cakewallet_linux

# Integration tests moved to integration_tests.yml
- name: Test [cw_core]
timeout-minutes: 15
run: cd cw_core && flutter test
Expand Down
Loading
Loading