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
81 changes: 38 additions & 43 deletions .github/workflows/build-raven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,27 @@ on:
- master
- develop
- release*
# paths-ignore:
# - 'binaries/**'
# - 'community/**'
# - 'contrib/**'
# - 'doc/**'
# - 'roadmap/**'
# - 'share/**'
# - 'static-builds/**'
# - 'whitepaper/**'
# - '*.md'
workflow_dispatch:
# Adding manual trigger capability
inputs:
os_to_build:
description: 'OS to build (leave empty for all)'
required: false
default: ''
type: string

env:
SCRIPTS: ${{ GITHUB.WORKSPACE }}/.github/scripts
SCRIPTS: ${{ github.workspace }}/.github/scripts

jobs:
check-jobs:
# continue-on-error: true # Uncomment once integration is finished
runs-on: ubuntu-20.04
# Map a step output to a job output
runs-on: ubuntu-22.04
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@master
with:
# All of these options are optional, so you can remove them if you are happy with the defaults
concurrent_skipping: 'never'
skip_after_successful_duplicate: 'true'
paths_ignore: '[
Expand All @@ -52,61 +47,61 @@ jobs:

build:
needs: check-jobs
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
matrix:
OS: [ 'windows', 'linux', 'linux-disable-wallet', 'arm32v7', 'arm32v7-disable-wallet', 'aarch64', 'aarch64-disable-wallet' ]
OS: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.os_to_build != '' && fromJSON(format('["{0}"]', github.event.inputs.os_to_build)) || fromJSON('["windows", "linux", "linux-disable-wallet", "arm32v7", "arm32v7-disable-wallet", "aarch64", "aarch64-disable-wallet"]') }}

steps:
- if: ${{ needs.check-jobs.outputs.should_skip != 'true' }}
- if: ${{ needs.check-jobs.outputs.should_skip != 'true' || github.event_name == 'workflow_dispatch' }}
name: Checkout the Code
uses: actions/checkout@v1
uses: actions/checkout@v3

- if: ${{ needs.check-jobs.outputs.should_skip != 'true' }}
- if: ${{ needs.check-jobs.outputs.should_skip != 'true' || github.event_name == 'workflow_dispatch' }}
name: Install Build Tools
run: sudo ${SCRIPTS}/00-install-deps.sh ${{ MATRIX.OS }}
run: sudo ${SCRIPTS}/00-install-deps.sh ${{ matrix.OS }}

- if: ${{ needs.check-jobs.outputs.should_skip != 'true' }}
- if: ${{ needs.check-jobs.outputs.should_skip != 'true' || github.event_name == 'workflow_dispatch' }}
name: Cache dependencies.
uses: actions/cache@v4
with:
path: |
${{ GITHUB.WORKSPACE }}/depends/built
${{ GITHUB.WORKSPACE }}/depends/sources
${{ GITHUB.WORKSPACE }}/depends/work
key: ${{ MATRIX.OS }}
- if: ${{ needs.check-jobs.outputs.should_skip != 'true' }}
${{ github.workspace }}/depends/built
${{ github.workspace }}/depends/sources
${{ github.workspace }}/depends/work
key: ${{ matrix.OS }}-ubuntu22

- if: ${{ needs.check-jobs.outputs.should_skip != 'true' || github.event_name == 'workflow_dispatch' }}
name: Build dependencies.
run: ${SCRIPTS}/02-copy-build-dependencies.sh ${{ MATRIX.OS }} ${{ GITHUB.WORKSPACE }} ${{ GITHUB.BASE_REF }} ${{ GITHUB.REF }}
run: ${SCRIPTS}/02-copy-build-dependencies.sh ${{ matrix.OS }} ${{ github.workspace }} ${{ github.base_ref }} ${{ github.ref }}

- if: ${{ needs.check-jobs.outputs.should_skip != 'true' }}
- if: ${{ needs.check-jobs.outputs.should_skip != 'true' || github.event_name == 'workflow_dispatch' }}
name: Add Dependencies to the System PATH
run: ${SCRIPTS}/03-export-path.sh ${{ MATRIX.OS }} ${{ GITHUB.WORKSPACE }}
run: ${SCRIPTS}/03-export-path.sh ${{ matrix.OS }} ${{ github.workspace }}

- if: ${{ needs.check-jobs.outputs.should_skip != 'true' }}
- if: ${{ needs.check-jobs.outputs.should_skip != 'true' || github.event_name == 'workflow_dispatch' }}
name: Build Config
run: cd ${{ GITHUB.WORKSPACE }} && ./autogen.sh
run: cd ${{ github.workspace }} && ./autogen.sh

- if: ${{ needs.check-jobs.outputs.should_skip != 'true' }}
- if: ${{ needs.check-jobs.outputs.should_skip != 'true' || github.event_name == 'workflow_dispatch' }}
name: Configure Build
run: ${SCRIPTS}/04-configure-build.sh ${{ MATRIX.OS }} ${{ GITHUB.WORKSPACE }}
run: ${SCRIPTS}/04-configure-build.sh ${{ matrix.OS }} ${{ github.workspace }}

- if: ${{ needs.check-jobs.outputs.should_skip != 'true' }}
- if: ${{ needs.check-jobs.outputs.should_skip != 'true' || github.event_name == 'workflow_dispatch' }}
name: Build Raven
run: make -j2

- if: ${{ needs.check-jobs.outputs.should_skip != 'true' }}
- if: ${{ needs.check-jobs.outputs.should_skip != 'true' || github.event_name == 'workflow_dispatch' }}
name: Check Binary Security
run: ${SCRIPTS}/05-binary-checks.sh ${{ MATRIX.OS }} ${{ GITHUB.WORKSPACE }}
run: ${SCRIPTS}/05-binary-checks.sh ${{ matrix.OS }} ${{ github.workspace }}

- if: ${{ needs.check-jobs.outputs.should_skip != 'true' }}
- if: ${{ needs.check-jobs.outputs.should_skip != 'true' || github.event_name == 'workflow_dispatch' }}
name: Package Up the Build
run: ${SCRIPTS}/06-package.sh ${{ MATRIX.OS }} ${{ GITHUB.WORKSPACE }} ${{ GITHUB.BASE_REF }} ${{ GITHUB.REF }}
run: ${SCRIPTS}/06-package.sh ${{ matrix.OS }} ${{ github.workspace }} ${{ github.base_ref }} ${{ github.ref }}

- if: ${{ needs.check-jobs.outputs.should_skip != 'true' }}
- if: ${{ needs.check-jobs.outputs.should_skip != 'true' || github.event_name == 'workflow_dispatch' }}
name: Upload Artifacts to Job
uses: actions/upload-artifact@master
with:
name: ${{ MATRIX.OS }}
path: ${{ GITHUB.WORKSPACE }}/release
name: ${{ matrix.OS }}
path: ${{ github.workspace }}/release
4 changes: 2 additions & 2 deletions depends/packages/bdb.mk
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package=bdb
$(package)_version=4.8.30
$(package)_download_path=https://download.oracle.com/berkeley-db
$(package)_file_name=db-$($(package)_version).NC.tar.gz
$(package)_download_path=https://github.com/bitcoincore-dev/db-4.8.30.NC/raw/refs/heads/main
$(package)_file_name=db-4.8.30.NC.tar.gz
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is $($(package)_version) not used here?
All files changed now have a hardcoded version number, while $(package)_version= is set, but not used.

$(package)_sha256_hash=12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef
$(package)_build_subdir=build_unix

Expand Down
4 changes: 2 additions & 2 deletions depends/packages/boost.mk
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package=boost
$(package)_version=1_71_0
$(package)_download_path=https://boostorg.jfrog.io/artifactory/main/release/$(subst _,.,$($(package)_version))/source/
$(package)_file_name=boost_$($(package)_version).tar.bz2
$(package)_download_path=https://github.com/soosho/depends/releases/download/v111/
$(package)_file_name=boost_1_71_0.tar.bz2
$(package)_sha256_hash=d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee
$(package)_dependencies=native_b2

Expand Down
4 changes: 2 additions & 2 deletions depends/packages/qrencode.mk
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package=qrencode
$(package)_version=3.4.4
$(package)_download_path=https://fukuchi.org/works/qrencode/
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
$(package)_download_path=https://github.com/soosho/depends/releases/download/v111/
$(package)_file_name=qrencode-3.4.4.tar.bz2
$(package)_sha256_hash=efe5188b1ddbcbf98763b819b146be6a90481aac30cfc8d858ab78a19cde1fa5

define $(package)_set_vars
Expand Down
Loading