Skip to content

Merge pull request #126 from OilerNetwork/feat/test #2

Merge pull request #126 from OilerNetwork/feat/test

Merge pull request #126 from OilerNetwork/feat/test #2

Workflow file for this run

name: Build and Push Docker image on jfrog
on:
push:
branches:
- main
env:
DOCKER_REGISTRY: nethermind.jfrog.io
JFROG_REPOSITORY: kyoto-oiler-oci-local-staging
AGENT_NAME: pitchlake-ui
PORT: ${{vars.PORT}}
NEXT_PUBLIC_VAULT_ADDRESSES: ${{vars.VAULT_ADDRESSES}}
NEXT_PUBLIC_ENVIRONMENT: ${{vars.ENVIRONMENT}}
NEXT_PUBLIC_RPC_URL_MAINNET: ${{secrets.RPC_URL_MAINNET}}
NEXT_PUBLIC_RPC_URL_SEPOLIA: ${{secrets.RPC_URL_SEPOLIA}}
NEXT_PUBLIC_WS_URL: ${{vars.WS_URL}}
FOSSIL_API_KEY: ${{secrets.FOSSIL_API_KEY}}
FOSSIL_DB_URL: ${{secrets.FOSSIL_DB_URL}}
NEXT_PUBLIC_FOSSIL_API_URL: ${{vars.FOSSIL_API_URL}}
permissions:
id-token: write
contents: write
jobs:
deploy-agent:
runs-on: ubuntu-latest
environment: staging
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Set up ORAS
uses: oras-project/setup-oras@v1
- name: Verify ORAS version
run: oras version
- name: Log in to Docker registry
uses: docker/login-action@v3
with:
registry: ${{ env.DOCKER_REGISTRY }}
username: ${{ secrets.ARTIFACTORY_KYOTO_OILER_USERNAME }}
password: ${{ secrets.ARTIFACTORY_KYOTO_OILER_TOKEN_DEVELOPER }}
- name: Login to registry with ORAS
run: |
oras login ${{ env.DOCKER_REGISTRY }} \
-u ${{ secrets.ARTIFACTORY_KYOTO_OILER_USERNAME }} \
-p ${{ secrets.ARTIFACTORY_KYOTO_OILER_TOKEN_DEVELOPER }}
- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: .
platforms: "linux/amd64"
push: true
file: ./Dockerfile
tags: |
${{ env.DOCKER_REGISTRY }}/${{ env.JFROG_REPOSITORY }}/${{ env.AGENT_NAME }}:${{ github.sha }}
${{ env.DOCKER_REGISTRY }}/${{ env.JFROG_REPOSITORY }}/${{ env.AGENT_NAME }}:latest
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: |
GITHUB_SHA=${{ github.sha }}
PORT=${{ env.PORT }}
NEXT_PUBLIC_VAULT_ADDRESSES=${{ env.NEXT_PUBLIC_VAULT_ADDRESSES }}
NEXT_PUBLIC_ENVIRONMENT=${{ env.NEXT_PUBLIC_ENVIRONMENT }}
NEXT_PUBLIC_RPC_URL_MAINNET=${{ env.NEXT_PUBLIC_RPC_URL_MAINNET }}
NEXT_PUBLIC_RPC_URL_SEPOLIA=${{ env.NEXT_PUBLIC_RPC_URL_SEPOLIA }}
NEXT_PUBLIC_WS_URL=${{ env.NEXT_PUBLIC_WS_URL }}
FOSSIL_API_KEY=${{ env.FOSSIL_API_KEY }}
FOSSIL_DB_URL=${{ env.FOSSIL_DB_URL }}
NEXT_PUBLIC_FOSSIL_API_URL=${{ env.NEXT_PUBLIC_FOSSIL_API_URL }}