Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions .github/workflows/pr-pipeline.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: fair-value-pull-request-pipeline

on:
pull_request:
branches:
- master
paths-ignore:
- '**.md'
- '.gitignore'
workflow_dispatch:

permissions:
contents: read
packages: write

env:
ACTIONS_STEP_DEBUG: ${{ secrets.ACTIONS_STEP_DEBUG }}

jobs:
push_image_and_deploy:
runs-on: ubuntu-latest
environment:
name: dia-testspace
steps:
- uses: actions/checkout@v4

- name: Get Short Commit Hash
run: |
COMMIT_HASH=$(git rev-parse --short HEAD)
echo "COMMIT_HASH=$COMMIT_HASH" >> $GITHUB_ENV

- name: Checkout lumina-infra repository
env:
LUMINA_INFRA_PAT: ${{ secrets.LUMINA_INFRA_PAT }}
run: |
rm -rf lumina-infra
git clone -q https://$LUMINA_INFRA_PAT@github.com/diadata-org/lumina-infra lumina-infra

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

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: eu-west-1

- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2

- name: Build and push to AWS ECR
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
IMAGE_TAG: commit-hash-${{ env.COMMIT_HASH }}
run: |
docker build -f build/Dockerfile -t ${ECR_REGISTRY}/lumina/fair-value:${IMAGE_TAG} .
docker push ${ECR_REGISTRY}/lumina/fair-value:${IMAGE_TAG}
echo "Pushed image to AWS ECR:"
echo " ${ECR_REGISTRY}/lumina/fair-value:${IMAGE_TAG}"

- name: Update AWS testnet feeder values and push to lumina-infra
env:
LUMINA_INFRA_PAT: ${{ secrets.LUMINA_INFRA_PAT }}
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
run: |
cd lumina-infra

git config user.name "DIA Lumina Bot"
git config user.email "infrastructure@diadata.org"

# Update image registry and tag for fair-value feeders
FEEDERS="301-fair-value-feeder-testnet-aws 302-fair-value-feeder-testnet-aws 303-fair-value-feeder-testnet-aws 304-fair-value-feeder-testnet-aws 305-fair-value-feeder-testnet-aws"
for feeder in $FEEDERS; do
VALUES_FILE="helmcharts/fair-value-feeders-aws/${feeder}/values.yaml"
if [ -f "$VALUES_FILE" ]; then
echo "Updating $VALUES_FILE"
sed -i "s|image: [^,]*|image: ${ECR_REGISTRY}/lumina/fair-value|" "$VALUES_FILE"
sed -i "s|tag: [^}]*|tag: commit-hash-${{ env.COMMIT_HASH }}|" "$VALUES_FILE"
fi
done

echo "Changes to be committed:"
git diff helmcharts/fair-value-feeders-aws/*/values.yaml

if ! git diff --quiet; then
git add helmcharts/fair-value-feeders-aws/*/values.yaml
git commit -m "PR #${{ github.event.pull_request.number }}: Update fair-value feeders to commit-hash-${{ env.COMMIT_HASH }}"
git push https://$LUMINA_INFRA_PAT@github.com/diadata-org/lumina-infra.git HEAD:master
echo "Pushed updates to lumina-infra. ArgoCD will sync fair-value feeders automatically."
else
echo "No changes to commit"
fi

cd ..

- name: Cleanup cloned repository
run: |
rm -rf lumina-infra
Loading