Skip to content

Build & Release Light Bridge #59

Build & Release Light Bridge

Build & Release Light Bridge #59

Workflow file for this run

name: Build & Release Light Bridge
on:
push:
tags:
- 'v*.*.*'
workflow_dispatch:
inputs:
tag:
description: 'Tag version (e.g., v2.0.0)'
required: true
type: string
jobs:
build_docker:
name: Build Docker Image
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_USERNAME }}
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN_SECRET }}
- name: Set tag variable
id: tag
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
echo "tag=${{ github.event.inputs.tag }}" >> $GITHUB_OUTPUT
else
echo "tag=${{ github.ref_name }}" >> $GITHUB_OUTPUT
fi
- name: Create tag artifact
uses: actions/upload-artifact@v4
with:
name: ${{ steps.tag.outputs.tag }}
path: Release
#- name: Get project versions
# run: |
# echo "version=$(cat ./package.json | jq ".version" | tr -d '"\r\n')" >> $GITHUB_OUTPUT
# id: version
- name: Build version specific docker image
run: docker build . --file ./Dockerfile.prod --tag bobanetwork/lightbridge:${{ steps.tag.outputs.tag }}
- name: Push version specific docker image
run: docker push bobanetwork/lightbridge:${{ steps.tag.outputs.tag }}
- name: Build stable docker image
run: docker tag bobanetwork/lightbridge:${{ steps.tag.outputs.tag }} bobanetwork/lightbridge:stable
- name: Push stable docker image
run: docker push bobanetwork/lightbridge:stable