Skip to content

Commit

Permalink
fix: resolve conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
brancoder committed Apr 22, 2024
2 parents 089e3c3 + d8a9ece commit 77bf752
Show file tree
Hide file tree
Showing 227 changed files with 2,140 additions and 2,131 deletions.
146 changes: 33 additions & 113 deletions .github/workflows/nova-build-temp.yaml
Original file line number Diff line number Diff line change
@@ -1,129 +1,49 @@
name: Nova Deply Workflow (with SDK build)
name: Nova Deploy Workflow

on:
workflow_dispatch:
inputs:
TARGET_COMMIT:
description: "Target Commit Hash for the SDK"
required: false
default: "5d8c3042c87fbde300269f55da90dd4d8c60f2f1"
environment:
type: choice
description: "Select the environment to deploy to"
options:
- nova
required: false
default: nova
deployment:
type: boolean
description: "Deploy after build?"
required: false
default: false
on: workflow_dispatch

env:
DEPLOY_ENV: nova

jobs:
build-and-deploy:
set_env_vars:
name: Set Environment Variables
runs-on: ubuntu-latest
environment: release
outputs:
version_tag: ${{ steps.set_version_tag.outputs.version_tag }}
steps:
- name: Checkout Repository
- name: Checkout
uses: actions/checkout@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.IOTALEDGER_DOCKER_USERNAME }}
password: ${{ secrets.IOTALEDGER_DOCKER_PASSWORD }}

- name: Get the short commit hash
- name: Set up the version tag for docker images
id: set_version_tag
run: |
COMMIT_HASH=$(git rev-parse --short HEAD)
echo "VERSION=$COMMIT_HASH" >> $GITHUB_ENV
- name: Set up Environment Variable
run: echo "DEPLOY_ENV=${{ github.event.inputs.environment }}" >> $GITHUB_ENV

- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: "16"

- name: Install System Dependencies
run: |
sudo apt-get update
sudo apt-get install -y python2 gcc-multilib g++-multilib build-essential libssl-dev rpm libsecret-1-dev software-properties-common apt-transport-https libudev-dev libusb-1.0-0-dev llvm-dev libclang-dev clang yarn
echo 'LIBCLANG_PATH=/usr/lib/llvm-14/lib' >> $GITHUB_ENV
echo 'DEBUG=electron-builder' >> $GITHUB_ENV
echo 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/snap:/root/.cargo/bin' >> $GITHUB_ENV
- name: Install Rust and wasm-bindgen-cli
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source $HOME/.cargo/env
cargo install wasm-bindgen-cli
rustup target add wasm32-unknown-unknown
- name: Global Git Configuration
run: git config --global --add safe.directory ${{ github.workspace }}

- name: Yarn Add crypto-browserify
run: yarn add crypto-browserify

- name: Setup SDK
run: |
git clone -b 2.0 https://github.com/iotaledger/iota-sdk
cd iota-sdk
echo "Checking out nova-sdk commit ${{ github.event.inputs.TARGET_COMMIT }}"
git checkout ${{ github.event.inputs.TARGET_COMMIT }}
- name: Build Node.js Bindings
run: |
cd iota-sdk/bindings/nodejs
echo "Renaming nodejs sdk (sdk-nova)"
sed -i.bak '2s/.*/ \"name\": \"@iota\/sdk-nova\",/' package.json
rm package.json.bak
echo "Building nodejs bindings"
source $HOME/.cargo/env
yarn
yarn build
- name: Build WASM Bindings
run: |
cd iota-sdk/bindings/wasm
echo "Renaming wasm sdk (sdk-wasm-nova)"
sed -i.bak '2s/.*/ \"name\": \"@iota\/sdk-wasm-nova\",/' package.json
rm package.json.bak
echo "Building wasm bindings"
source $HOME/.cargo/env
yarn
yarn build
- name: Build and push API Docker image
uses: docker/build-push-action@v2
with:
context: ./
file: ./api/Dockerfile
push: true
tags: iotaledger/explorer-api:${{ env.VERSION }}
no-cache: true

- name: Build and push Client Docker image
uses: docker/build-push-action@v2
with:
context: ./
file: ./client/Dockerfile
push: true
tags: iotaledger/explorer-client:${{ env.VERSION }}
no-cache: true

echo "VERSION_TAG=$COMMIT_HASH" >> $GITHUB_OUTPUT
use-reusable-workflow:
strategy:
matrix:
directory: [api, client]
name: Build Images
needs: set_env_vars
uses: ./.github/workflows/build-images.reusable.yaml
with:
directory: ${{ matrix.directory }}
image_tags: |
iotaledger/explorer-${{ matrix.directory }}:${{ needs.set_env_vars.outputs.version_tag }}
secrets: inherit

deploy_to_server:
name: Deploy Production to Server
needs: [set_env_vars, use-reusable-workflow]
runs-on: ubuntu-latest
steps:
- name: Add SSH key
uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.UPDATER_SSH_PRIVATE_KEY }}

- name: Deploy to Server
if: ${{ github.event.inputs.deployment }}
run: |
ssh -o StrictHostKeyChecking=no updater@${{ secrets.EXPLORER_NOVA_GATEWAY }} "${{ env.DEPLOY_ENV }} ${{ env.VERSION }}"
ssh -o StrictHostKeyChecking=no updater@${{ secrets.EXPLORER_NOVA_GATEWAY }} "${{ env.DEPLOY_ENV }} ${{ needs.set_env_vars.outputs.version_tag }}"
22 changes: 2 additions & 20 deletions api/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,31 +1,13 @@
FROM node:16.20.2-bullseye

## Include the build tools for any npm packages that rebuild
RUN apt-get update && apt-get install -y \
build-essential \
pkg-config \
libssl-dev \
libudev-dev \
cmake \
clang \
curl \
git \
python3 \
&& rm -rf /var/lib/apt/lists/*
RUN apt install git curl python3

# Working DIR
WORKDIR /usr/src/app

# Copy everything from current Folder
# COPY . ./

# Copy iota-sdk-nova deps REMOVE THIS for prod
# Get Rust
RUN curl https://sh.rustup.rs -sSf | bash -s -- -y
ENV PATH="${PATH}:/root/.cargo/bin"

COPY ./api ./
COPY ./iota-sdk/ ../iota-sdk/
COPY . ./

# Set the env variables
ARG CONFIG_ID
Expand Down
Loading

0 comments on commit 77bf752

Please sign in to comment.