-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Jeffrey Tang <[email protected]>
- Loading branch information
1 parent
06e6026
commit 81d89c4
Showing
5 changed files
with
228 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
## | ||
# Copyright (C) 2023-2024 Hedera Hashgraph, LLC | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
## | ||
|
||
name: "Test GCS as bucket storage" | ||
# The purpose of this reusable workflow is to make sure task files are working as expected. | ||
|
||
on: | ||
workflow_dispatch: | ||
workflow_call: | ||
pull_request: | ||
types: | ||
- opened | ||
- reopened | ||
- synchronize | ||
secrets: | ||
GCS_ACCESS_KEY: | ||
description: "GCS Access Key" | ||
GCS_SECRET_KEY: | ||
description: "GCS Secret | ||
defaults: | ||
run: | ||
shell: bash | ||
permissions: | ||
contents: read | ||
actions: read | ||
jobs: | ||
example-task-file-test: | ||
timeout-minutes: 20 | ||
runs-on: solo-linux-large | ||
steps: | ||
- name: Harden Runner | ||
uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 | ||
with: | ||
egress-policy: audit | ||
- name: Checkout Code | ||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | ||
- name: Setup Node | ||
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 | ||
with: | ||
node-version: 20 | ||
cache: npm | ||
- name: Setup Kind | ||
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0 | ||
with: | ||
install_only: true | ||
node_image: kindest/node:v1.27.3@sha256:3966ac761ae0136263ffdb6cfd4db23ef8a83cba8a463690e98317add2c9ba72 | ||
version: v0.21.0 | ||
kubectl_version: v1.28.6 | ||
verbosity: 3 | ||
wait: 120s | ||
- name: Install Dependencies | ||
id: npm-deps | ||
run: npm ci | ||
- name: Compile Project | ||
run: npm run build | ||
- name: Run Example Task File Test | ||
env: | ||
GCS_ACCESS_KEY: ${{ secrets.GCS_ACCESS_KEY }} | ||
GCS_SECRET_KEY: ${{ secrets.GCS_SECRET_KEY }} | ||
run: | | ||
.github/workflows/script/gcs_test.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
#!/bin/bash | ||
set -eo pipefail | ||
|
||
source .github/workflows/script/helper.sh | ||
|
||
if [ -z "${GCS_ACCESS_KEY}" ]; then | ||
echo "GCS_ACCESS_KEY is not set. Exiting..." | ||
exit 1 | ||
fi | ||
|
||
if [ -z "${GCS_SECRET_KEY}" ]; then | ||
echo "GCS_SECRET_KEY is not set. Exiting..." | ||
exit 1 | ||
fi | ||
|
||
echo "Generate GCS credentials to file gcs_values.yaml" | ||
echo "cloud:" > gcs_values.yaml | ||
echo " gcs:" >> gcs_values.yaml | ||
echo " enabled: true" >> gcs_values.yaml | ||
echo ' GCS_ACCESS_KEY: "'${GCS_ACCESS_KEY}'"' >> gcs_values.yaml | ||
echo ' GCS_SECRET_KEY: "'${GCS_SECRET_KEY}'"' >> gcs_values.yaml | ||
|
||
|
||
SOLO_CLUSTER_NAME=solo-e2e | ||
SOLO_NAMESPACE=solo-e2e | ||
SOLO_CLUSTER_SETUP_NAMESPACE=solo-setup | ||
|
||
kind create cluster -n "${SOLO_CLUSTER_NAME}" | ||
solo init | ||
solo cluster setup --chart-dir /Users/jeffrey/solo-charts/charts -s "${SOLO_CLUSTER_SETUP_NAMESPACE}" | ||
solo node keys --gossip-keys --tls-keys -i node1,node2 | ||
solo network deploy --chart-dir /Users/jeffrey/solo-charts/charts -i node1,node2 -n "${SOLO_NAMESPACE}" -f gcs_values.yaml | ||
solo node setup -i node1,node2 -n "${SOLO_NAMESPACE}" | ||
solo node start -i node1,node2 -n "${SOLO_NAMESPACE}" | ||
solo mirror-node deploy --namespace "${SOLO_NAMESPACE}" | ||
|
||
kubectl port-forward -n "${SOLO_NAMESPACE}" svc/haproxy-node1-svc 50211:50211 > /dev/null 2>&1 & | ||
kubectl port-forward -n "${SOLO_NAMESPACE}" svc/hedera-explorer 8080:80 > /dev/null 2>&1 & | ||
|
||
cd ..; create_test_account ; cd - | ||
|
||
node examples/create-topic.js |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
#!/bin/bash | ||
set -eo pipefail | ||
|
||
function create_test_account () | ||
{ | ||
echo "Create test account with solo network" | ||
cd solo | ||
|
||
# create new account and extract account id | ||
npm run solo-test -- account create -n solo-e2e --hbar-amount 100 --generate-ecdsa-key --set-alias > test.log | ||
export OPERATOR_ID=$(grep "accountId" test.log | awk '{print $2}' | sed 's/"//g'| sed 's/,//g') | ||
echo "OPERATOR_ID=${OPERATOR_ID}" | ||
rm test.log | ||
|
||
# get private key of the account | ||
npm run solo-test -- account get -n solo-e2e --account-id ${OPERATOR_ID} --private-key > test.log | ||
export OPERATOR_KEY=$(grep "privateKey" test.log | awk '{print $2}' | sed 's/"//g'| sed 's/,//g') | ||
export CONTRACT_TEST_KEY_ONE=0x$(grep "privateKeyRaw" test.log | awk '{print $2}' | sed 's/"//g'| sed 's/,//g') | ||
echo "CONTRACT_TEST_KEY_ONE=${CONTRACT_TEST_KEY_ONE}" | ||
rm test.log | ||
|
||
npm run solo-test -- account create -n solo-e2e --hbar-amount 100 --generate-ecdsa-key --set-alias > test.log | ||
export SECOND_KEY=$(grep "accountId" test.log | awk '{print $2}' | sed 's/"//g'| sed 's/,//g') | ||
npm run solo-test -- account get -n solo-e2e --account-id ${SECOND_KEY} --private-key > test.log | ||
export CONTRACT_TEST_KEY_TWO=0x$(grep "privateKeyRaw" test.log | awk '{print $2}' | sed 's/"//g'| sed 's/,//g') | ||
echo "CONTRACT_TEST_KEY_TWO=${CONTRACT_TEST_KEY_TWO}" | ||
rm test.log | ||
|
||
export CONTRACT_TEST_KEYS=${CONTRACT_TEST_KEY_ONE},$'\n'${CONTRACT_TEST_KEY_TWO} | ||
export HEDERA_NETWORK="local-node" | ||
|
||
echo "OPERATOR_KEY=${OPERATOR_KEY}" | ||
echo "HEDERA_NETWORK=${HEDERA_NETWORK}" | ||
echo "CONTRACT_TEST_KEYS=${CONTRACT_TEST_KEYS}" | ||
|
||
cd - | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters