Skip to content

Commit

Permalink
Merge branch 'UCR-develop' of https://github.com/decenomy/DSW
Browse files Browse the repository at this point in the history
  • Loading branch information
pedro-at-decenomy committed Nov 26, 2024
2 parents 1717f41 + fb2dc60 commit 7be5f09
Show file tree
Hide file tree
Showing 158 changed files with 307,511 additions and 1,929 deletions.
259 changes: 259 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,259 @@
name: Build and Extract Files from Docker Container

on:
push:
branches:
- '*'

jobs:
build-files-linux-x64:
runs-on: ubuntu-22.04

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up environment variables
run: |
# Extract the name of the repository and use it as the ticker value
REPO_NAME="${GITHUB_REPOSITORY##*/}"
# Extract the name of the repository owner and use it as the github user
ACCOUNT_NAME="${GITHUB_REPOSITORY%/*}"
# Get the short name of the ref (strip 'refs/heads/', 'refs/tags/', etc.)
SHORT_REF=${GITHUB_REF##*/}
# Get the short commit hash
SHORT_COMMIT_HASH=$(git rev-parse --short HEAD)
# Set environment variables
echo "REPO_NAME=${REPO_NAME}" >> $GITHUB_ENV
echo "ACCOUNT_NAME=${ACCOUNT_NAME}" >> $GITHUB_ENV
echo "SHORT_REF=${SHORT_REF}" >> $GITHUB_ENV
echo "IMAGE_NAME=linux-x64-build-img-${SHORT_COMMIT_HASH}" >> $GITHUB_ENV
echo "CONTAINER_NAME=linux-x64-build-ctn-${SHORT_COMMIT_HASH}" >> $GITHUB_ENV
- name: Build and Extract Files from Docker Container
run: |
# Stop and remove any existing container with the same name
docker rm -f ${CONTAINER_NAME} || true
# Build the Docker image from the Dockerfile in the repository
docker buildx build \
--no-cache \
--build-arg CPU_CORES=$(nproc) \
--build-arg TICKER=$REPO_NAME \
--build-arg NAME=UltraClear \
--build-arg BASE_NAME=ultraclear \
--build-arg TARGET=$SHORT_REF \
--build-arg GITHUB_USER=$ACCOUNT_NAME \
-t ${IMAGE_NAME} \
-f contrib/docker/Dockerfile.dsw-linux-x64-wallet .
# Start the container
docker run -d --name ${CONTAINER_NAME} ${IMAGE_NAME}
# Create a temporary directory to hold the extracted files
mkdir release_files
# Copy files from the Docker container to the local filesystem
docker cp ${CONTAINER_NAME}:/$ACCOUNT_NAME/$REPO_NAME/deploy/linux-x64 release_files/
- name: Archive and Upload Extracted Files
uses: actions/upload-artifact@v4
with:
name: release-artifacts-linux-x64
path: release_files

- name: Cleanup Docker container and image
run: |
# Stop and remove the Docker container
docker rm -f ${CONTAINER_NAME}
# Remove the Docker image
docker rmi ${IMAGE_NAME}
build-files-linux-arm64:
runs-on: ubuntu-22.04

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up environment variables
run: |
# Extract the name of the repository and use it as the ticker value
REPO_NAME="${GITHUB_REPOSITORY##*/}"
# Extract the name of the repository owner and use it as the github user
ACCOUNT_NAME="${GITHUB_REPOSITORY%/*}"
# Get the short name of the ref (strip 'refs/heads/', 'refs/tags/', etc.)
SHORT_REF=${GITHUB_REF##*/}
# Get the short commit hash
SHORT_COMMIT_HASH=$(git rev-parse --short HEAD)
# Set environment variables
echo "REPO_NAME=${REPO_NAME}" >> $GITHUB_ENV
echo "ACCOUNT_NAME=${ACCOUNT_NAME}" >> $GITHUB_ENV
echo "SHORT_REF=${SHORT_REF}" >> $GITHUB_ENV
echo "IMAGE_NAME=linux-arm64-build-img-${SHORT_COMMIT_HASH}" >> $GITHUB_ENV
echo "CONTAINER_NAME=linux-arm64-build-ctn-${SHORT_COMMIT_HASH}" >> $GITHUB_ENV
- name: Build and Extract Files from Docker Container
run: |
# Stop and remove any existing container with the same name
docker rm -f ${CONTAINER_NAME} || true
# Build the Docker image from the Dockerfile in the repository
docker buildx build \
--no-cache \
--build-arg CPU_CORES=$(nproc) \
--build-arg TICKER=$REPO_NAME \
--build-arg NAME=UltraClear \
--build-arg BASE_NAME=ultraclear \
--build-arg TARGET=$SHORT_REF \
--build-arg GITHUB_USER=$ACCOUNT_NAME \
-t ${IMAGE_NAME} \
-f contrib/docker/Dockerfile.dsw-linux-arm64-wallet .
# Start the container
docker run -d --name ${CONTAINER_NAME} ${IMAGE_NAME}
# Create a temporary directory to hold the extracted files
mkdir release_files
# Copy files from the Docker container to the local filesystem
docker cp ${CONTAINER_NAME}:/$ACCOUNT_NAME/$REPO_NAME/deploy/linux-arm64 release_files/
- name: Archive and Upload Extracted Files
uses: actions/upload-artifact@v4
with:
name: release-artifacts-linux-arm64
path: release_files

- name: Cleanup Docker container and image
run: |
# Stop and remove the Docker container
docker rm -f ${CONTAINER_NAME}
# Remove the Docker image
docker rmi ${IMAGE_NAME}
build-windows-x64:
runs-on: ubuntu-22.04

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up environment variables
run: |
# Extract the name of the repository and use it as the ticker value
REPO_NAME="${GITHUB_REPOSITORY##*/}"
# Extract the name of the repository owner and use it as the github user
ACCOUNT_NAME="${GITHUB_REPOSITORY%/*}"
# Get the short name of the ref (strip 'refs/heads/', 'refs/tags/', etc.)
SHORT_REF=${GITHUB_REF##*/}
# Get the short commit hash
SHORT_COMMIT_HASH=$(git rev-parse --short HEAD)
# Set environment variables
echo "REPO_NAME=${REPO_NAME}" >> $GITHUB_ENV
echo "ACCOUNT_NAME=${ACCOUNT_NAME}" >> $GITHUB_ENV
echo "SHORT_REF=${SHORT_REF}" >> $GITHUB_ENV
echo "IMAGE_NAME=windows-x64-build-img-${SHORT_COMMIT_HASH}" >> $GITHUB_ENV
echo "CONTAINER_NAME=windows-x64-build-ctn-${SHORT_COMMIT_HASH}" >> $GITHUB_ENV
- name: Build and Extract Files from Docker Container
run: |
# Stop and remove any existing container with the same name
docker rm -f ${CONTAINER_NAME} || true
# Build the Docker image from the Dockerfile in the repository
docker buildx build \
--no-cache \
--build-arg CPU_CORES=$(nproc) \
--build-arg TICKER=$REPO_NAME \
--build-arg NAME=UltraClear \
--build-arg BASE_NAME=ultraclear \
--build-arg TARGET=$SHORT_REF \
--build-arg GITHUB_USER=$ACCOUNT_NAME \
-t ${IMAGE_NAME} \
-f contrib/docker/Dockerfile.dsw-windows-x64-wallet .
# Start the container
docker run -d --name ${CONTAINER_NAME} ${IMAGE_NAME}
# Create a temporary directory to hold the extracted files
mkdir release_files
# Copy files from the Docker container to the local filesystem
docker cp ${CONTAINER_NAME}:/$ACCOUNT_NAME/$REPO_NAME/deploy/windows-x64 release_files/
- name: Archive and Upload Extracted Files
uses: actions/upload-artifact@v4
with:
name: release-artifacts-windows-x64
path: release_files

- name: Cleanup Docker container and image
run: |
# Stop and remove the Docker container
docker rm -f ${CONTAINER_NAME}
# Remove the Docker image
docker rmi ${IMAGE_NAME}
build-macos-x64:
runs-on: ubuntu-22.04

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up environment variables
run: |
# Extract the name of the repository and use it as the ticker value
REPO_NAME="${GITHUB_REPOSITORY##*/}"
# Extract the name of the repository owner and use it as the github user
ACCOUNT_NAME="${GITHUB_REPOSITORY%/*}"
# Get the short name of the ref (strip 'refs/heads/', 'refs/tags/', etc.)
SHORT_REF=${GITHUB_REF##*/}
# Get the short commit hash
SHORT_COMMIT_HASH=$(git rev-parse --short HEAD)
# Set environment variables
echo "REPO_NAME=${REPO_NAME}" >> $GITHUB_ENV
echo "ACCOUNT_NAME=${ACCOUNT_NAME}" >> $GITHUB_ENV
echo "SHORT_REF=${SHORT_REF}" >> $GITHUB_ENV
echo "IMAGE_NAME=macos-x64-build-img-${SHORT_COMMIT_HASH}" >> $GITHUB_ENV
echo "CONTAINER_NAME=macos-x64-build-ctn-${SHORT_COMMIT_HASH}" >> $GITHUB_ENV
- name: Build and Extract Files from Docker Container
run: |
# Stop and remove any existing container with the same name
docker rm -f ${CONTAINER_NAME} || true
# Build the Docker image from the Dockerfile in the repository
docker buildx build \
--no-cache \
--build-arg CPU_CORES=$(nproc) \
--build-arg TICKER=$REPO_NAME \
--build-arg NAME=UltraClear \
--build-arg BASE_NAME=ultraclear \
--build-arg TARGET=$SHORT_REF \
--build-arg GITHUB_USER=$ACCOUNT_NAME \
-t ${IMAGE_NAME} \
-f contrib/docker/Dockerfile.dsw-macos-x64-wallet .
# Start the container
docker run -d --name ${CONTAINER_NAME} ${IMAGE_NAME}
# Create a temporary directory to hold the extracted files
mkdir release_files
# Copy files from the Docker container to the local filesystem
docker cp ${CONTAINER_NAME}:/$ACCOUNT_NAME/$REPO_NAME/deploy/macos-x64 release_files/
- name: Archive and Upload Extracted Files
uses: actions/upload-artifact@v4
with:
name: release-artifacts-macos-x64
path: release_files

- name: Cleanup Docker container and image
run: |
# Stop and remove the Docker container
docker rm -f ${CONTAINER_NAME}
# Remove the Docker image
docker rmi ${IMAGE_NAME}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ reset-files.bash
*.tar.gz
*.exe
configure~
deploy/

# DSW
src/__decenomy__
Expand Down
7 changes: 7 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,12 @@ if(OPENSSL_FOUND)
endif()
endif()

find_package(CURL REQUIRED)
# Add libcurl include directories
target_include_directories(WALLET_A ${CURL_INCLUDE_DIRS})
# Link against libcurl
target_link_libraries(WALLET_A ${CURL_LIBRARIES})

find_package(LibEvent REQUIRED)

find_package(GMP)
Expand Down Expand Up @@ -279,6 +285,7 @@ set(WALLET_SOURCES
./src/zpiv/zpivmodule.cpp
./src/zpiv/zpos.cpp
./src/stakeinput.cpp
./src/sqlite3/sqlite3.c
)
add_library(WALLET_A STATIC ${BitcoinHeaders} ${WALLET_SOURCES})
target_include_directories(WALLET_A PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src
Expand Down
2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ pipeline {
rm -rf SDKs
mkdir SDKs
cd SDKs
wget -c https://github.com/decenomy/depends/raw/main/SDKs/MacOSX10.11.sdk.tar.xz
wget -c https://ipfs.decenomy.net/QmccbpJcugkoV6uVovYsyZ3MPxGTcbUNYXMhLQL2hLzHwH -O MacOSX10.11.sdk.tar.xz
tar -xf MacOSX10.11.sdk.tar.xz
cd ..
make -j $(nproc) HOST=x86_64-apple-darwin14
Expand Down
Loading

0 comments on commit 7be5f09

Please sign in to comment.