[price-pusher] add workflow to push docker image (#667)

* add workflow

* update readme

* correct docker build
This commit is contained in:
Dev Kalra 2023-03-08 01:26:52 +05:30 committed by GitHub
parent bab6cccbad
commit 22c1fedd3d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 51 additions and 4 deletions

View File

@ -0,0 +1,47 @@
name: Build and Push Price Pusher Image
on:
push:
tags:
- pyth-price-pusher-v*
workflow_dispatch:
inputs:
dispatch_description:
description: "Dispatch description"
required: true
type: string
permissions:
contents: read
id-token: write
jobs:
price-pusher-image:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set image tag to version of the git tag
if: ${{ startsWith(github.ref, 'refs/tags/pyth-price-pusher-v') }}
run: |
PREFIX="refs/tags/pyth-price-pusher-"
VERSION="${GITHUB_REF:${#PREFIX}}"
echo "IMAGE_TAG=${VERSION}" >> "${GITHUB_ENV}"
- name: Set image tag to the git commit hash
if: ${{ !startsWith(github.ref, 'refs/tags/pyth-price-pusher-v') }}
run: |
echo "IMAGE_TAG=${{ github.sha }}" >> "${GITHUB_ENV}"
- uses: aws-actions/configure-aws-credentials@8a84b07f2009032ade05a88a28750d733cc30db1
with:
role-to-assume: arn:aws:iam::192824654885:role/github-actions-ecr
aws-region: eu-west-2
- uses: docker/login-action@v2
with:
registry: public.ecr.aws
env:
AWS_REGION: us-east-1
- uses: aws-actions/amazon-ecr-login@v1
id: ecr_login
- run: |
DOCKER_BUILDKIT=1 docker build -t lerna -f tilt_devnet/docker_images/Dockerfile.lerna .
DOCKER_BUILDKIT=1 docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG -f price_pusher/Dockerfile .
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
env:
ECR_REGISTRY: public.ecr.aws
ECR_REPOSITORY: pyth-network/xc-price-pusher

View File

@ -1,6 +1,6 @@
# Pyth EVM price pusher
# Pyth price pusher
Pyth EVM price pusher is a service that regularly pushes updates to the on-chain Pyth price based on configurable conditions.
Pyth price pusher is a service that regularly pushes updates to the on-chain Pyth price based on configurable conditions.
## Background
@ -8,7 +8,7 @@ Pyth is a cross-chain oracle that streams price updates over the peer-to-peer [W
These price updates can be consumed on any chain that has a deployment of the Pyth contract.
By default, Pyth does not automatically update the on-chain price every time the off-chain price changes;
instead, anyone can permissionlessly update the on-chain price prior to using it.
For more information please refer to [this document](../pyth-evm-js/README.md#how-pyth-works-on-evm-chains).
For more information please refer to [this document](https://docs.pyth.network/design-overview).
Protocols integrating with can update the on-chain Pyth prices in two different ways.
The first approach is on-demand updates: package a Pyth price update together with each transaction that depends on it.
@ -66,7 +66,7 @@ npm run start -- injective --grpc-endpoint https://grpc-endpoint.com \
[--polling-frequency 5]
# Or, run the price pusher docker image instead of building from the source
docker run public.ecr.aws/pyth-network/xc-evm-price-pusher:v<version> -- <above-arguments>
docker run public.ecr.aws/pyth-network/xc-price-pusher:v<version> -- <above-arguments>
```
### Command Line Arguments