Skip to content

Commit

Permalink
Merge branch 'KYAN-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 Jun 5, 2024
2 parents b08278d + cdd95e7 commit eb5b533
Show file tree
Hide file tree
Showing 86 changed files with 1,884 additions and 2,353 deletions.
163 changes: 127 additions & 36 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,146 +7,237 @@ on:

jobs:
build-files-linux-x64:
runs-on: ubuntu-22.04
# if: ${{ false }} # Set condition to false to make the workflow inactive
runs-on: [self-hosted, Linux, X64]

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

- name: Build and Extract Files from Docker Container
- name: Set up environment variables
run: |
# Extract the name of the repository and use it as the ticker value
REPO_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 "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 build \
docker buildx build \
--no-cache \
--build-arg CPU_CORES=$(nproc) \
--build-arg TICKER=$REPO_NAME \
--build-arg NAME=Kyanite \
--build-arg BASE_NAME=kyanite \
--build-arg TARGET=${{ github.ref }} \
-t linux-x64-build-img \
--build-arg TARGET=$SHORT_REF \
-t ${IMAGE_NAME} \
-f contrib/docker/Dockerfile.dsw-linux-x64-wallet .
# Start the container (if it's not already running)
docker run -d --name linux-x64-build-ctn linux-x64-build-img
# 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 linux-x64-build-ctn:/$REPO_NAME/deploy/linux-x64 release_files/
docker cp ${CONTAINER_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
# if: ${{ false }} # Set condition to false to make the workflow inactive
runs-on: [self-hosted, Linux, X64]

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

- name: Build and Extract Files from Docker Container
- name: Set up environment variables
run: |
# Extract the name of the repository and use it as the ticker value
REPO_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 "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 build \
docker buildx build \
--no-cache \
--build-arg CPU_CORES=$(nproc) \
--build-arg TICKER=$REPO_NAME \
--build-arg NAME=Kyanite \
--build-arg BASE_NAME=kyanite \
--build-arg TARGET=${{ github.ref }} \
-t linux-arm64-build-img \
--build-arg TARGET=$SHORT_REF \
-t ${IMAGE_NAME} \
-f contrib/docker/Dockerfile.dsw-linux-arm64-wallet .
# Start the container (if it's not already running)
docker run -d --name linux-arm64-build-ctn linux-arm64-build-img
# 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 linux-arm64-build-ctn:/$REPO_NAME/deploy/linux-arm64 release_files/
docker cp ${CONTAINER_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
# if: ${{ false }} # Set condition to false to make the workflow inactive
runs-on: [self-hosted, Linux, X64]

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

- name: Build and Extract Files from Docker Container
- name: Set up environment variables
run: |
# Extract the name of the repository and use it as the ticker value
REPO_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 "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 build \
docker buildx build \
--no-cache \
--build-arg CPU_CORES=$(nproc) \
--build-arg TICKER=$REPO_NAME \
--build-arg NAME=Kyanite \
--build-arg BASE_NAME=kyanite \
--build-arg TARGET=${{ github.ref }} \
-t windows-x64-build-img \
--build-arg TARGET=$SHORT_REF \
-t ${IMAGE_NAME} \
-f contrib/docker/Dockerfile.dsw-windows-x64-wallet .
# Start the container (if it's not already running)
docker run -d --name windows-x64-build-ctn windows-x64-build-img
# 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 windows-x64-build-ctn:/$REPO_NAME/deploy/windows-x64 release_files/
docker cp ${CONTAINER_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
# if: ${{ false }} # Set condition to false to make the workflow inactive
runs-on: [self-hosted, Linux, X64]

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

- name: Build and Extract Files from Docker Container
- name: Set up environment variables
run: |
# Extract the name of the repository and use it as the ticker value
REPO_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 "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 build \
docker buildx build \
--no-cache \
--build-arg CPU_CORES=$(nproc) \
--build-arg TICKER=$REPO_NAME \
--build-arg NAME=Kyanite \
--build-arg BASE_NAME=kyanite \
--build-arg TARGET=${{ github.ref }} \
-t macos-x64-build-img \
--build-arg TARGET=$SHORT_REF \
-t ${IMAGE_NAME} \
-f contrib/docker/Dockerfile.dsw-macos-x64-wallet .
# Start the container (if it's not already running)
docker run -d --name macos-x64-build-ctn macos-x64-build-img
# 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 macos-x64-build-ctn:/$REPO_NAME/deploy/macos-x64 release_files/
docker cp ${CONTAINER_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
Loading

0 comments on commit eb5b533

Please sign in to comment.