Fetch latest registry record version and use in deploy script (#146)
* Fetch latest registry record version and increment * Move reference up * Remove steps to manually update record values * Update registry config with new key and bond
This commit is contained in:
parent
1ff5ab3dfd
commit
d64cf46d89
@ -8,57 +8,6 @@
|
|||||||
brew install jq # if you do not have jq installed already
|
brew install jq # if you do not have jq installed already
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Example of how to make the necessary deploy edits [here](https://github.com/snowball-tools/snowballtools-base/pull/131/files).
|
|
||||||
|
|
||||||
- Replace variables in the following files
|
|
||||||
- [records/application-deployment-request.yml](records/application-deployment-request.yml)
|
|
||||||
- update the name & application version numbers
|
|
||||||
- `<CURRENT_DATE_TIME>`: Replace with current time which can be generated by command `date -u`
|
|
||||||
```yml
|
|
||||||
# Example
|
|
||||||
record:
|
|
||||||
...
|
|
||||||
meta:
|
|
||||||
note: Added by Snowball @ Friday 23 February 2024 06:35:50 AM UTC
|
|
||||||
...
|
|
||||||
```
|
|
||||||
|
|
||||||
- Update record version in [records/application-record.yml](records/application-record.yml)
|
|
||||||
```yml
|
|
||||||
record:
|
|
||||||
type: ApplicationRecord
|
|
||||||
version: <NEW_VERSION>
|
|
||||||
...
|
|
||||||
```
|
|
||||||
|
|
||||||
- Update commit hash in the following places:
|
|
||||||
- [records/application-record.yml](records/application-record.yml)
|
|
||||||
```yml
|
|
||||||
record:
|
|
||||||
...
|
|
||||||
repository_ref: <COMMIT_HASH>
|
|
||||||
...
|
|
||||||
```
|
|
||||||
- [records/application-deployment-request.yml](records/application-deployment-request.yml)
|
|
||||||
```yml
|
|
||||||
record:
|
|
||||||
...
|
|
||||||
meta:
|
|
||||||
...
|
|
||||||
repository_ref: <COMMIT_HASH>
|
|
||||||
```
|
|
||||||
- [deploy-frontend.sh](deploy-frontend.sh)
|
|
||||||
Also be sure to update the app version
|
|
||||||
```bash
|
|
||||||
...
|
|
||||||
RCD_APP_VERSION="<NEW_VERSION>"
|
|
||||||
REPO_REF="<COMMIT_HASH>"
|
|
||||||
...
|
|
||||||
```
|
|
||||||
|
|
||||||
- Run script to deploy app
|
- Run script to deploy app
|
||||||
```
|
```
|
||||||
./deploy-frontend.sh
|
./deploy-frontend.sh
|
||||||
|
@ -2,6 +2,8 @@ services:
|
|||||||
cns:
|
cns:
|
||||||
restEndpoint: http://console.laconic.com:1317
|
restEndpoint: http://console.laconic.com:1317
|
||||||
gqlEndpoint: http://console.laconic.com:9473/api
|
gqlEndpoint: http://console.laconic.com:9473/api
|
||||||
|
userKey: 489c9dd3931c2a2d4dd77973302dc5eb01e2a49552f9d932c58d9da823512311
|
||||||
|
bondId: 99c0e9aec0ac1b8187faa579be3b54f93fafb6060ac1fd29170b860df605be32
|
||||||
chainId: laconic_9000-1
|
chainId: laconic_9000-1
|
||||||
gas: 1200000
|
gas: 1200000
|
||||||
fees: 200000aphoton
|
fees: 200000aphoton
|
||||||
|
@ -12,18 +12,17 @@ PACKAGE_VERSION=$(jq -r '.version' ../frontend/package.json)
|
|||||||
# Current date and time for note
|
# Current date and time for note
|
||||||
CURRENT_DATE_TIME=$(date -u)
|
CURRENT_DATE_TIME=$(date -u)
|
||||||
|
|
||||||
# Increment application-record version
|
CONFIG_FILE=config.yml
|
||||||
APPLICATION_RECORD_FILE="./records/application-record.yml"
|
REGISTRY_BOND_ID="8fcf44b2f326b4b63ac57547777f1c78b7d494e5966e508f09001af53cb440ac"
|
||||||
if [ -f "$APPLICATION_RECORD_FILE" ]; then
|
|
||||||
# Extract current version and increment it
|
# Reference: https://git.vdb.to/cerc-io/test-progressive-web-app/src/branch/main/scripts
|
||||||
CURRENT_VERSION=$(grep 'version:' $APPLICATION_RECORD_FILE | head -1 | awk '{print $2}')
|
|
||||||
IFS='.' read -ra ADDR <<< "$CURRENT_VERSION"
|
# Get latest version from registry and increment application-record version
|
||||||
VERSION_NUMBER=${ADDR[2]}
|
NEW_APPLICATION_VERSION=$(yarn --silent laconic -c $CONFIG_FILE cns record list --type ApplicationRecord --all --name "snowballtools-base-frontend" 2>/dev/null | jq -r -s ".[] | sort_by(.createTime) | reverse | [ .[] | select(.bondId == \"$REGISTRY_BOND_ID\") ] | .[0].attributes.version" | awk -F. -v OFS=. '{$NF += 1 ; print}')
|
||||||
NEW_VERSION_NUMBER=$((VERSION_NUMBER + 1))
|
|
||||||
NEW_APPLICATION_VERSION="${ADDR[0]}.${ADDR[1]}.$NEW_VERSION_NUMBER"
|
if [ -z "$NEW_APPLICATION_VERSION" ] || [ "1" == "$NEW_APPLICATION_VERSION" ]; then
|
||||||
else
|
# Set application-record version if no previous records were found
|
||||||
# If file does not exist, start from version 0.0.1
|
NEW_APPLICATION_VERSION=0.0.1
|
||||||
NEW_APPLICATION_VERSION="0.0.1"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Generate application-deployment-request.yml
|
# Generate application-deployment-request.yml
|
||||||
@ -62,10 +61,7 @@ EOF
|
|||||||
|
|
||||||
echo "Files generated successfully."
|
echo "Files generated successfully."
|
||||||
|
|
||||||
# Reference: https://git.vdb.to/cerc-io/test-progressive-web-app/src/branch/main/scripts
|
|
||||||
|
|
||||||
RECORD_FILE=records/application-record.yml
|
RECORD_FILE=records/application-record.yml
|
||||||
CONFIG_FILE=config.yml
|
|
||||||
|
|
||||||
# Publish ApplicationRecord
|
# Publish ApplicationRecord
|
||||||
RECORD_ID=$(yarn --silent laconic -c $CONFIG_FILE cns record publish --filename $RECORD_FILE | jq -r '.id')
|
RECORD_ID=$(yarn --silent laconic -c $CONFIG_FILE cns record publish --filename $RECORD_FILE | jq -r '.id')
|
||||||
@ -75,8 +71,11 @@ echo $RECORD_ID
|
|||||||
# Set name to record
|
# Set name to record
|
||||||
REGISTRY_APP_CRN="crn://snowballtools/applications/snowballtools-base-frontend"
|
REGISTRY_APP_CRN="crn://snowballtools/applications/snowballtools-base-frontend"
|
||||||
|
|
||||||
|
sleep 2
|
||||||
yarn --silent laconic -c $CONFIG_FILE cns name set "$REGISTRY_APP_CRN@${PACKAGE_VERSION}" "$RECORD_ID"
|
yarn --silent laconic -c $CONFIG_FILE cns name set "$REGISTRY_APP_CRN@${PACKAGE_VERSION}" "$RECORD_ID"
|
||||||
|
sleep 2
|
||||||
yarn --silent laconic -c $CONFIG_FILE cns name set "$REGISTRY_APP_CRN@${LATEST_HASH}" "$RECORD_ID"
|
yarn --silent laconic -c $CONFIG_FILE cns name set "$REGISTRY_APP_CRN@${LATEST_HASH}" "$RECORD_ID"
|
||||||
|
sleep 2
|
||||||
# Set name if latest release
|
# Set name if latest release
|
||||||
yarn --silent laconic -c $CONFIG_FILE cns name set "$REGISTRY_APP_CRN" "$RECORD_ID"
|
yarn --silent laconic -c $CONFIG_FILE cns name set "$REGISTRY_APP_CRN" "$RECORD_ID"
|
||||||
echo "$REGISTRY_APP_CRN set for ApplicationRecord"
|
echo "$REGISTRY_APP_CRN set for ApplicationRecord"
|
||||||
@ -90,6 +89,7 @@ fi
|
|||||||
|
|
||||||
RECORD_FILE=records/application-deployment-request.yml
|
RECORD_FILE=records/application-deployment-request.yml
|
||||||
|
|
||||||
|
sleep 2
|
||||||
DEPLOYMENT_REQUEST_ID=$(yarn --silent laconic -c $CONFIG_FILE cns record publish --filename $RECORD_FILE | jq -r '.id')
|
DEPLOYMENT_REQUEST_ID=$(yarn --silent laconic -c $CONFIG_FILE cns record publish --filename $RECORD_FILE | jq -r '.id')
|
||||||
echo "ApplicationDeploymentRequest published"
|
echo "ApplicationDeploymentRequest published"
|
||||||
echo $DEPLOYMENT_REQUEST_ID
|
echo $DEPLOYMENT_REQUEST_ID
|
||||||
|
@ -13,6 +13,6 @@ record:
|
|||||||
LACONIC_HOSTED_CONFIG_app_github_image_upload_templaterepo: snowball-tools-platform/image-upload-pwa-example
|
LACONIC_HOSTED_CONFIG_app_github_image_upload_templaterepo: snowball-tools-platform/image-upload-pwa-example
|
||||||
LACONIC_HOSTED_CONFIG_app_wallet_connect_id: eda9ba18042a5ea500f358194611ece2
|
LACONIC_HOSTED_CONFIG_app_wallet_connect_id: eda9ba18042a5ea500f358194611ece2
|
||||||
meta:
|
meta:
|
||||||
note: Added by Snowball @ Thu Feb 29 02:48:23 UTC 2024
|
note: Added by Snowball @ Thursday 29 February 2024 04:36:04 PM UTC
|
||||||
repository: "https://git.vdb.to/cerc-io/snowballtools-base"
|
repository: "https://git.vdb.to/cerc-io/snowballtools-base"
|
||||||
repository_ref: 94a9bf88a9cf8442ffd37ad924cf9a590af69431
|
repository_ref: 1ff5ab3dfdba9dcf5dd1cb0f9435bd863a6d0340
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
record:
|
record:
|
||||||
type: ApplicationRecord
|
type: ApplicationRecord
|
||||||
version: 0.0.25
|
version: 0.0.1
|
||||||
repository_ref: 94a9bf88a9cf8442ffd37ad924cf9a590af69431
|
repository_ref: 1ff5ab3dfdba9dcf5dd1cb0f9435bd863a6d0340
|
||||||
repository: ["https://git.vdb.to/cerc-io/snowballtools-base"]
|
repository: ["https://git.vdb.to/cerc-io/snowballtools-base"]
|
||||||
app_type: webapp
|
app_type: webapp
|
||||||
name: snowballtools-base-frontend
|
name: snowballtools-base-frontend
|
||||||
|
Loading…
Reference in New Issue
Block a user