Compare commits

..

8 Commits

Author SHA1 Message Date
charlesgauthereau 92ad1cbfb4 chore(release): 1.0.4-rc.17 2026-01-28 22:59:35 +01:00
charlesgauthereau 82d5306dd4 chore(release): 1.0.4-rc.16 2026-01-28 22:46:27 +01:00
charlesgauthereau 52714cda21 chore(release): 1.0.4-rc.15 2026-01-28 22:25:53 +01:00
charlesgauthereau fa46d1bbc4 chore(release): 1.0.4-rc.14 2026-01-28 22:15:26 +01:00
charlesgauthereau 5535b4b22f chore(release): 1.0.4-rc.13 2026-01-28 22:02:31 +01:00
charlesgauthereau 0e86a813b5 chore(release): 1.0.4-rc.12 2026-01-28 22:00:27 +01:00
charlesgauthereau ecdb4a067d chore(release): 1.0.4-rc.11 2026-01-28 21:48:08 +01:00
charlesgauthereau 8078d733e4 chore(release): 1.0.4-rc.10 2026-01-28 21:40:05 +01:00
4 changed files with 182 additions and 50 deletions
+179 -47
View File
@@ -68,6 +68,131 @@
# push: true
# tags: ${{ steps.set-tags.outputs.tags }}
# target: ${{ inputs.target }}
#
#name: Docker Publish
#
#on:
# workflow_call:
# inputs:
# image_name:
# required: false
# type: string
# default: 'portabase/agent'
# add_latest:
# required: false
# type: boolean
# default: false
# target:
# required: false
# type: string
# default: 'prod'
# dockerfile:
# required: false
# type: string
# default: './docker/Dockerfile'
# secrets:
# DOCKER_USERNAME:
# required: true
# DOCKER_PASSWORD:
# required: true
#
#jobs:
# build-amd64:
# name: Build AMD64 Image
# runs-on: ubuntu-latest
# outputs:
# image: ${{ steps.set-job-output.outputs.image }}
# steps:
# - uses: actions/checkout@v4
#
# - uses: docker/setup-buildx-action@v3
#
# - uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
# with:
# username: ${{ secrets.DOCKER_USERNAME }}
# password: ${{ secrets.DOCKER_PASSWORD }}
#
# - name: Set AMD64 image tag
# id: set-tags
# run: |
# REF_NAME=${GITHUB_REF#refs/tags/}
# AMD64_IMAGE="${{ inputs.image_name }}:$REF_NAME-amd64"
# echo "amd64_image=$AMD64_IMAGE" >> $GITHUB_OUTPUT
#
# - name: Build and push AMD64
# uses: docker/build-push-action@v6
# with:
# context: .
# file: ${{ inputs.dockerfile }}
# platforms: linux/amd64
# push: true
# tags: ${{ steps.set-tags.outputs.amd64_image }}
# target: ${{ inputs.target }}
#
# build-arm64:
# name: Build ARM64 Image
# runs-on: ubuntu-24.04-arm
# outputs:
# image: ${{ steps.set-job-output.outputs.image }}
# steps:
# - uses: actions/checkout@v4
#
# - uses: docker/setup-buildx-action@v3
#
# - uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
# with:
# username: ${{ secrets.DOCKER_USERNAME }}
# password: ${{ secrets.DOCKER_PASSWORD }}
#
# - name: Set ARM64 image tag
# id: set-tags
# run: |
# REF_NAME=${GITHUB_REF#refs/tags/}
# ARM64_IMAGE="${{ inputs.image_name }}:$REF_NAME-arm64"
# echo "arm64_image=$ARM64_IMAGE" >> $GITHUB_OUTPUT
#
# - name: Build and push ARM64
# uses: docker/build-push-action@v6
# with:
# context: .
# file: ${{ inputs.dockerfile }}
# platforms: linux/arm64
# push: true
# tags: ${{ steps.set-tags.outputs.arm64_image }}
# target: ${{ inputs.target }}
#
#
# create-manifest:
# name: Create Multi-Arch Manifest
# runs-on: ubuntu-latest
# needs:
# - build-amd64
# - build-arm64
# steps:
# - uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
# with:
# username: ${{ secrets.DOCKER_USERNAME }}
# password: ${{ secrets.DOCKER_PASSWORD }}
#
# - name: Create Docker manifest
# run: |
# REF_NAME=${GITHUB_REF#refs/tags/}
#
# IMAGE="${{ inputs.image_name }}:$REF_NAME"
# AMD64_IMAGE="$IMAGE-amd64"
# ARM64_IMAGE="$IMAGE-arm64"
#
# echo "AMD64_IMAGE=$AMD64_IMAGE"
# echo "ARM64_IMAGE=$ARM64_IMAGE"
#
# docker manifest create $IMAGE $AMD64_IMAGE $ARM64_IMAGE
# docker manifest push $IMAGE
#
# if [ "${{ inputs.add_latest }}" = "true" ]; then
# docker manifest create ${{ inputs.image_name }}:latest $AMD64_IMAGE $ARM64_IMAGE
# docker manifest push ${{ inputs.image_name }}:latest
# fi
name: Docker Publish
@@ -97,78 +222,85 @@ on:
required: true
jobs:
build-and-push-amd64:
name: Build and Push AMD64
runs-on: ubuntu-latest # x86_64 runner
permissions:
packages: write
contents: read
build:
name: Build and push Docker images
runs-on: ${{ matrix.platform == 'linux/amd64' && 'ubuntu-latest' || matrix.platform == 'linux/arm64' && 'ubuntu-24.04-arm' }}
strategy:
fail-fast: false
matrix:
platform: [linux/amd64, linux/arm64]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Checkout
uses: actions/checkout@v4
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v4
- name: Login to Docker
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set tags
- name: Set image tag
id: set-tags
run: |
REF_NAME=${GITHUB_REF#refs/tags/}
TAGS="${{ inputs.image_name }}:$REF_NAME"
if [[ "${{ inputs.add_latest }}" == "true" ]]; then
TAGS="$TAGS,${{ inputs.image_name }}:latest"
if [ "${{ matrix.platform }}" = "linux/amd64" ]; then
IMAGE="${{ inputs.image_name }}:$REF_NAME-amd64"
else
IMAGE="${{ inputs.image_name }}:$REF_NAME-arm64"
fi
echo "tags=$TAGS" >> $GITHUB_OUTPUT
echo "image=$IMAGE" >> $GITHUB_OUTPUT
- name: Build and push AMD64 image
- name: Build and push image
uses: docker/build-push-action@v6
with:
context: .
file: ${{ inputs.dockerfile }}
platforms: linux/amd64
platforms: ${{ matrix.platform }}
push: true
tags: ${{ steps.set-tags.outputs.tags }}
tags: ${{ steps.set-tags.outputs.image }}
target: ${{ inputs.target }}
build-and-push-arm64:
name: Build and Push ARM64
runs-on: ubuntu-22.04-arm64 # ARM64 runner (self-hosted or cloud)
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v4
- name: Upload image tag for manifest
id: upload
run: echo "${{ steps.set-tags.outputs.image }}" > image.txt
- uses: actions/upload-artifact@v3
with:
fetch-depth: 0
name: image-${{ matrix.platform }}
path: image.txt
- uses: docker/setup-buildx-action@v3
create-manifest:
name: Create multi-arch Docker manifest
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/download-artifact@v3
with:
name: image-linux/amd64
path: /tmp/digests
- uses: docker/login-action@v4
- uses: actions/download-artifact@v3
with:
name: image-linux/arm64
path: /tmp/digests
- name: Login to Docker
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set tags
id: set-tags
- name: Create and push manifest
run: |
AMD64_IMAGE=$(cat /tmp/digests/image-linux/amd64/image.txt)
ARM64_IMAGE=$(cat /tmp/digests/image-linux/arm64/image.txt)
REF_NAME=${GITHUB_REF#refs/tags/}
TAGS="${{ inputs.image_name }}:$REF_NAME"
if [[ "${{ inputs.add_latest }}" == "true" ]]; then
TAGS="$TAGS,${{ inputs.image_name }}:latest"
fi
echo "tags=$TAGS" >> $GITHUB_OUTPUT
MANIFEST_IMAGE="${{ inputs.image_name }}:$REF_NAME"
- name: Build and push ARM64 image
uses: docker/build-push-action@v6
with:
context: .
file: ${{ inputs.dockerfile }}
platforms: linux/arm64
push: true
tags: ${{ steps.set-tags.outputs.tags }}
target: ${{ inputs.target }}
docker manifest create $MANIFEST_IMAGE $AMD64_IMAGE $ARM64_IMAGE
docker manifest push $MANIFEST_IMAGE
if [ "${{ inputs.add_latest }}" = "true" ]; then
docker manifest create ${{ inputs.image_name }}:latest $AMD64_IMAGE $ARM64_IMAGE
docker manifest push ${{ inputs.image_name }}:latest
fi
+1 -1
View File
@@ -22,5 +22,5 @@ keywords:
- self-hosted
- portabase
license: Apache-2.0
version: 1.0.4-rc.9
version: 1.0.4-rc.17
date-released: "2026-01-28"
Generated
+1 -1
View File
@@ -1595,7 +1595,7 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
[[package]]
name = "portabase-agent"
version = "1.0.4-rc.8"
version = "1.0.4-rc.16"
dependencies = [
"anyhow",
"async-trait",
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "portabase-agent"
version = "1.0.4-rc.9"
version = "1.0.4-rc.17"
edition = "2024"
[dependencies]