Skip to content

Commit

Permalink
Merge branch 'release/1.0.0-rc.32'
Browse files Browse the repository at this point in the history
  • Loading branch information
aramallo committed Jan 29, 2025
2 parents 2151d55 + 9eacdd6 commit a176c58
Show file tree
Hide file tree
Showing 9 changed files with 224 additions and 121 deletions.
194 changes: 194 additions & 0 deletions .github/workflows/docker-debian.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,194 @@
name: Bondy Debian OTP 26
on:
workflow_dispatch:
push:
branches : [master, develop]
tags:
- '[0-9]+.[0-9]+.[0-9]+'
- '[0-9]+.[0-9]+.[0-9]+-[a-zA-Z0-9]+'
- '[0-9]+.[0-9]+.[0-9]+-[a-zA-Z0-9]+.[0-9]+'
- '[0-9]+.[0-9]+.[0-9]+.[0-9]+'

jobs:

build-push-arm64:
runs-on: ubuntu-24-arm64-4x

steps:
# Not strictly required as it should default based on runner)
- name: Set Platform to arm64
run: echo "DOCKER_DEFAULT_PLATFORM=linux/arm64" >> $GITHUB_ENV

- uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Context for Buildx
id: buildx-context
run: |
docker context create builders
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
version: latest
endpoint: builders

- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
# without registry name, we will add it in the build-push-action as
# each registry has diff namespace at the moment
images: |
bondy
tags: |
type=ref,event=branch
type=semver,pattern={{version}}
flavor: |
latest=false
prefix=
suffix=
labels: |
maintainer=Leapsight
org.opencontainers.image.title=Bondy
org.opencontainers.image.description=Bondy is an open source, always-on and scalable application networking platform connecting all elements of a distributed application—offering event and service mesh capabilities combined. From web and mobile apps to IoT devices and backend microservices, Bondy allows everything to talk using one simple communication protocol.
org.opencontainers.image.vendor=Leapsight
- name: Build and push
uses: docker/build-push-action@v6
with:
push: true
context: .
file: ./deployment/Dockerfile
tags: leapsight/${{ steps.meta.outputs.tags }}-arm64

build-push-x64:
runs-on: ubuntu-latest

steps:
# Not strictly required as it should default based on runner)
- name: Set Platform to amd64
run: echo "DOCKER_DEFAULT_PLATFORM=linux/amd64" >> $GITHUB_ENV

- uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Context for Buildx
id: buildx-context
run: |
docker context create builders
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
version: latest
endpoint: builders

- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
# without registry name, we will add it in the build-push-action as
# each registry has diff namespace at the moment
images: |
bondy
tags: |
type=ref,event=branch
type=semver,pattern={{version}}
flavor: |
latest=false
prefix=
suffix=
labels: |
maintainer=Leapsight
org.opencontainers.image.title=Bondy
org.opencontainers.image.description=Bondy is an open source, always-on and scalable application networking platform connecting all elements of a distributed application—offering event and service mesh capabilities combined. From web and mobile apps to IoT devices and backend microservices, Bondy allows everything to talk using one simple communication protocol.
org.opencontainers.image.vendor=Leapsight
- name: Build and push
uses: docker/build-push-action@v6
with:
push: true
context: .
file: ./deployment/Dockerfile
tags: leapsight/${{ steps.meta.outputs.tags }}-amd64
labels: ${{ steps.meta.outputs.labels }}

create-manifests:
runs-on: ubuntu-latest
needs: [build-push-x64, build-push-arm64]

steps:
- uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
# without registry name, we will add it in the build-push-action as
# each registry has diff namespace at the moment
images: |
bondy
tags: |
type=ref,event=branch
type=semver,pattern={{version}}
flavor: |
latest=false
prefix=
suffix=
labels: |
maintainer=Leapsight
org.opencontainers.image.title=Bondy
org.opencontainers.image.description=Bondy is an open source, always-on and scalable application networking platform connecting all elements of a distributed application—offering event and service mesh capabilities combined. From web and mobile apps to IoT devices and backend microservices, Bondy allows everything to talk using one simple communication protocol.
org.opencontainers.image.vendor=Leapsight
- name: Create branch/tag manifest and push
run: |
docker buildx imagetools create \
-t leapsight/${{ steps.meta.outputs.tags }} \
leapsight/${{ steps.meta.outputs.tags }}-amd64 \
leapsight/${{ steps.meta.outputs.tags }}-arm64
docker buildx imagetools inspect \
leapsight/${{ steps.meta.outputs.tags }}
-
name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ github.token }}
-
# Copy multiplatform image from dockerhub to Github Registry
# without changing the image SHA
name: Copy Image to GitHub Container Registry
uses: akhilerm/[email protected]
with:
src: docker.io/leapsight/${{ steps.meta.outputs.tags }}
dst: |
ghcr.io/bondy-io/${{ steps.meta.outputs.tags }}
110 changes: 0 additions & 110 deletions .github/workflows/docker.yaml

This file was deleted.

11 changes: 9 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
# CHANGELOG

## 1.0.0-rc.32
* Updated Dockerfile
* Removed deprecated libraries
* Upgraded OS and Erlang/OTP versions
* New multi-arch Github action

## 1.0.0-rc.31
* Updated Dockerfile: removed deprecated libraries and uphgrade both Linux and Erlang versions
* Removed the OTP25 version of Bondy.
* Removed support for OTP25
* Updated Github Actions

## 1.0.0-rc.30
## Fixes
Expand Down
14 changes: 14 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,19 @@ docker-build:
-t "bondy-prod" \
-f deployment/Dockerfile .

docker-cloud-build:
docker buildx install
docker stop bondy-prod || true
docker rm bondy-prod || true
docker rmi bondy-prod || true
docker build \
--builder cloud-leapsight-bondy-cloud-builder \
--pull \
--platform linux/$(DOCKER_PLATFORM) \
--load \
-t "bondy-prod" \
-f deployment/Dockerfile .

docker-build-alpine:
docker buildx install
docker stop bondy-prod || true
Expand Down Expand Up @@ -225,3 +238,4 @@ docker-run-prod:
docker-scan-prod:
docker scan bondy-prod


4 changes: 2 additions & 2 deletions apps/bondy/src/bondy.app.src
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@
"Bondy implements the open Web Application Messaging Protocol (WAMP) "
"and is written in Erlang."
},
{vsn, "1.0.0-rc.31"},
{vsn, "1.0.0-rc.32"},
{registered, []},
%% We pass the version number in the bondy_app:start/2 arguments
{mod, {bondy_app, [{vsn, "1.0.0-rc.31"}]}},
{mod, {bondy_app, [{vsn, "1.0.0-rc.32"}]}},
{applications,[
%% Erlang/OTP
stdlib,
Expand Down
2 changes: 1 addition & 1 deletion apps/bondy_broker_bridge/src/bondy_broker_bridge.app.src
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
{description,
"Bondy Broker Bridge is an application that is part of Bondy and provides a way to integrate Events with external brokers and systems."
},
{vsn, "1.0.0-rc.31"},
{vsn, "1.0.0-rc.32"},
{registered, []},
{mod, {bondy_broker_bridge_app, []}},
{applications, [
Expand Down
4 changes: 2 additions & 2 deletions deployment/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ ENV HOME "/bondy"
# We also create the /bondy/etc dir to avoid an issue when deploying in K8s
# where the permissions are not assigned to the directory and Bondy will not
# have permission to write.
RUN apt-get update \
&& apt-get -y install \
RUN apt-get update && \
apt-get -y install --no-install-recommends \
sudo bash procps iproute2 net-tools dnsutils curl jq nano \
openssl libsnappy-dev\
&& rm -rf /var/lib/apt/lists/* \
Expand Down
Loading

0 comments on commit a176c58

Please sign in to comment.