mirror of
https://github.com/gotenberg/gotenberg.git
synced 2026-08-17 12:42:16 +01:00
feat(build): add ppc64le architecture (#1344)
* Support ppc64le architecture # Conflicts: # .github/workflows/continuous-delivery.yml # .github/workflows/continuous-integration.yml * Adding descriptive missing tags * empty commit for triggering CI * ci(ppc64le): wrong runner * fix(ci): iincrease timeout for integration tests to 40 minutes --------- Co-authored-by: Andrea Esposito <andrea.esposito@horsa.it>
This commit is contained in:
2
.github/actions/build-test-push/action.yml
vendored
2
.github/actions/build-test-push/action.yml
vendored
@@ -14,7 +14,7 @@ inputs:
|
|||||||
description: The Docker Hub password
|
description: The Docker Hub password
|
||||||
required: true
|
required: true
|
||||||
platform:
|
platform:
|
||||||
description: linux/amd64, linux/386, linux/arm64, linux/arm/v7
|
description: linux/amd64, linux/ppc64le, linux/386, linux/arm64, linux/arm/v7
|
||||||
required: true
|
required: true
|
||||||
version:
|
version:
|
||||||
description: Gotenberg version
|
description: Gotenberg version
|
||||||
|
|||||||
1
.github/actions/merge/merge.sh
vendored
1
.github/actions/merge/merge.sh
vendored
@@ -56,6 +56,7 @@ declare -A merge_map
|
|||||||
|
|
||||||
for tag in "${tags_to_merge[@]}"; do
|
for tag in "${tags_to_merge[@]}"; do
|
||||||
target_tag="${tag//-amd64/}"
|
target_tag="${tag//-amd64/}"
|
||||||
|
target_tag="${target_tag//-ppc64le/}"
|
||||||
target_tag="${target_tag//-arm64/}"
|
target_tag="${target_tag//-arm64/}"
|
||||||
target_tag="${target_tag//-arm/}"
|
target_tag="${target_tag//-arm/}"
|
||||||
target_tag="${target_tag//-386/}"
|
target_tag="${target_tag//-386/}"
|
||||||
|
|||||||
28
.github/workflows/continuous-delivery.yml
vendored
28
.github/workflows/continuous-delivery.yml
vendored
@@ -34,6 +34,8 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
outputs:
|
outputs:
|
||||||
tags: ${{ steps.build_push.outputs.tags }}
|
tags: ${{ steps.build_push.outputs.tags }}
|
||||||
|
tags_cloud_run: ${{ steps.build_push.outputs.tags_cloud_run }}
|
||||||
|
tags_aws_lambda: ${{ steps.build_push.outputs.tags_aws_lambda }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout source code
|
- name: Checkout source code
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v5
|
||||||
@@ -48,6 +50,27 @@ jobs:
|
|||||||
platform: linux/386
|
platform: linux/386
|
||||||
skip_integrations_tests: true
|
skip_integrations_tests: true
|
||||||
|
|
||||||
|
release_ppc64le:
|
||||||
|
name: Release linux/ppc64le
|
||||||
|
runs-on: ubuntu-24.04-ppc64le
|
||||||
|
outputs:
|
||||||
|
tags: ${{ steps.build_push.outputs.tags }}
|
||||||
|
tags_cloud_run: ${{ steps.build_push.outputs.tags_cloud_run }}
|
||||||
|
tags_aws_lambda: ${{ steps.build_push.outputs.tags_aws_lambda }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout source code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Build and push
|
||||||
|
id: build_push
|
||||||
|
uses: ./.github/actions/build-test-push
|
||||||
|
with:
|
||||||
|
docker_hub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
docker_hub_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
version: ${{ github.event.release.tag_name }}
|
||||||
|
platform: linux/ppc64le
|
||||||
|
skip_integrations_tests: true
|
||||||
|
|
||||||
release_arm64:
|
release_arm64:
|
||||||
name: Release linux/arm64
|
name: Release linux/arm64
|
||||||
runs-on: ubuntu-24.04-arm
|
runs-on: ubuntu-24.04-arm
|
||||||
@@ -94,6 +117,7 @@ jobs:
|
|||||||
needs:
|
needs:
|
||||||
- release_amd64
|
- release_amd64
|
||||||
- release_386
|
- release_386
|
||||||
|
- release_ppc64le
|
||||||
- release_arm64
|
- release_arm64
|
||||||
- release_arm_v7
|
- release_arm_v7
|
||||||
name: Merge and clean release tags
|
name: Merge and clean release tags
|
||||||
@@ -107,7 +131,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
docker_hub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
docker_hub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
docker_hub_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
docker_hub_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
tags: "${{ needs.release_amd64.outputs.tags }},${{ needs.release_386.outputs.tags }},${{ needs.release_arm64.outputs.tags }},${{ needs.release_arm_v7.outputs.tags }}"
|
tags: "${{ needs.release_amd64.outputs.tags }},${{ needs.release_386.outputs.tags }},${{ needs.release_ppc64le.outputs.tags }},${{ needs.release_arm64.outputs.tags }},${{ needs.release_arm_v7.outputs.tags }}"
|
||||||
alternate_registry: thecodingmachine
|
alternate_registry: thecodingmachine
|
||||||
|
|
||||||
- name: Merge AWS Lambda
|
- name: Merge AWS Lambda
|
||||||
@@ -123,4 +147,4 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
docker_hub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
docker_hub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
docker_hub_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
docker_hub_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
tags: "${{ needs.release_amd64.outputs.tags }},${{ needs.release_386.outputs.tags }},${{ needs.release_arm64.outputs.tags }},${{ needs.release_arm_v7.outputs.tags }},${{ needs.release_amd64.outputs.tags_aws_lambda }},${{ needs.release_arm64.outputs.tags_aws_lambda }}"
|
tags: "${{ needs.release_amd64.outputs.tags }},${{ needs.release_386.outputs.tags }},${{ needs.release_ppc64le.outputs.tags }},${{ needs.release_arm64.outputs.tags }},${{ needs.release_arm_v7.outputs.tags }},${{ needs.release_amd64.outputs.tags_aws_lambda }},${{ needs.release_arm64.outputs.tags_aws_lambda }}"
|
||||||
|
|||||||
58
.github/workflows/continuous-integration.yml
vendored
58
.github/workflows/continuous-integration.yml
vendored
@@ -93,6 +93,30 @@ jobs:
|
|||||||
platform: linux/amd64
|
platform: linux/amd64
|
||||||
alternate_repository: snapshot
|
alternate_repository: snapshot
|
||||||
|
|
||||||
|
snapshot_ppc64le:
|
||||||
|
if: github.event_name == 'pull_request'
|
||||||
|
needs:
|
||||||
|
- test-unit
|
||||||
|
name: Snapshot linux/ppc64le
|
||||||
|
runs-on: ubuntu-24.04-ppc64le
|
||||||
|
outputs:
|
||||||
|
tags: ${{ steps.build_test_push.outputs.tags }}
|
||||||
|
tags_cloud_run: ${{ steps.build_test_push.outputs.tags_cloud_run }}
|
||||||
|
tags_aws_lambda: ${{ steps.build_test_push.outputs.tags_aws_lambda }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout source code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Build, test and push
|
||||||
|
id: build_test_push
|
||||||
|
uses: ./.github/actions/build-test-push
|
||||||
|
with:
|
||||||
|
docker_hub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
docker_hub_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
version: pr-${{ github.event.pull_request.number }}
|
||||||
|
platform: linux/ppc64le
|
||||||
|
alternate_repository: snapshot
|
||||||
|
|
||||||
snapshot_386:
|
snapshot_386:
|
||||||
if: github.event_name == 'pull_request'
|
if: github.event_name == 'pull_request'
|
||||||
needs:
|
needs:
|
||||||
@@ -169,6 +193,7 @@ jobs:
|
|||||||
needs:
|
needs:
|
||||||
- snapshot_amd64
|
- snapshot_amd64
|
||||||
- snapshot_386
|
- snapshot_386
|
||||||
|
- snapshot_ppc64le
|
||||||
- snapshot_arm64
|
- snapshot_arm64
|
||||||
- snapshot_arm_v7
|
- snapshot_arm_v7
|
||||||
name: Secrets access check
|
name: Secrets access check
|
||||||
@@ -191,6 +216,7 @@ jobs:
|
|||||||
- merge_clean_snapshot_guard
|
- merge_clean_snapshot_guard
|
||||||
- snapshot_amd64
|
- snapshot_amd64
|
||||||
- snapshot_386
|
- snapshot_386
|
||||||
|
- snapshot_ppc64le
|
||||||
- snapshot_arm64
|
- snapshot_arm64
|
||||||
- snapshot_arm_v7
|
- snapshot_arm_v7
|
||||||
name: Merge and clean snapshot tags
|
name: Merge and clean snapshot tags
|
||||||
@@ -204,7 +230,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
docker_hub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
docker_hub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
docker_hub_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
docker_hub_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
tags: "${{ needs.snapshot_amd64.outputs.tags }},${{ needs.snapshot_386.outputs.tags }},${{ needs.snapshot_arm64.outputs.tags }},${{ needs.snapshot_arm_v7.outputs.tags }}"
|
tags: "${{ needs.snapshot_amd64.outputs.tags }},${{ needs.snapshot_386.outputs.tags }},${{ needs.snapshot_ppc64le.outputs.tags }},${{ needs.snapshot_arm64.outputs.tags }},${{ needs.snapshot_arm_v7.outputs.tags }}"
|
||||||
|
|
||||||
- name: Merge AWS Lambda
|
- name: Merge AWS Lambda
|
||||||
uses: ./.github/actions/merge
|
uses: ./.github/actions/merge
|
||||||
@@ -218,7 +244,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
docker_hub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
docker_hub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
docker_hub_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
docker_hub_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
tags: "${{ needs.snapshot_amd64.outputs.tags }},${{ needs.snapshot_386.outputs.tags }},${{ needs.snapshot_arm64.outputs.tags }},${{ needs.snapshot_arm_v7.outputs.tags }},${{ needs.snapshot_amd64.outputs.tags_aws_lambda }},${{ needs.snapshot_arm64.outputs.tags_aws_lambda }}"
|
tags: "${{ needs.snapshot_amd64.outputs.tags }},${{ needs.snapshot_386.outputs.tags }},${{ needs.snapshot_ppc64le.outputs.tags }},${{ needs.snapshot_arm64.outputs.tags }},${{ needs.snapshot_arm_v7.outputs.tags }},${{ needs.snapshot_amd64.outputs.tags_aws_lambda }},${{ needs.snapshot_arm64.outputs.tags_aws_lambda }}"
|
||||||
|
|
||||||
edge_amd64:
|
edge_amd64:
|
||||||
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||||
@@ -266,6 +292,29 @@ jobs:
|
|||||||
version: edge
|
version: edge
|
||||||
platform: linux/386
|
platform: linux/386
|
||||||
|
|
||||||
|
edge_ppc64le:
|
||||||
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||||
|
needs:
|
||||||
|
- test-unit
|
||||||
|
name: Edge linux/ppc64le
|
||||||
|
runs-on: ubuntu-24.04-ppc64le
|
||||||
|
outputs:
|
||||||
|
tags: ${{ steps.build_test_push.outputs.tags }}
|
||||||
|
tags_cloud_run: ${{ steps.build_test_push.outputs.tags_cloud_run }}
|
||||||
|
tags_aws_lambda: ${{ steps.build_test_push.outputs.tags_aws_lambda }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout source code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Build, test and push
|
||||||
|
id: build_test_push
|
||||||
|
uses: ./.github/actions/build-test-push
|
||||||
|
with:
|
||||||
|
docker_hub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
docker_hub_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
version: edge
|
||||||
|
platform: linux/ppc64le
|
||||||
|
|
||||||
edge_arm64:
|
edge_arm64:
|
||||||
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||||
needs:
|
needs:
|
||||||
@@ -316,6 +365,7 @@ jobs:
|
|||||||
needs:
|
needs:
|
||||||
- edge_amd64
|
- edge_amd64
|
||||||
- edge_386
|
- edge_386
|
||||||
|
- edge_ppc64le
|
||||||
- edge_arm64
|
- edge_arm64
|
||||||
- edge_arm_v7
|
- edge_arm_v7
|
||||||
name: Merge and clean edge tags
|
name: Merge and clean edge tags
|
||||||
@@ -329,7 +379,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
docker_hub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
docker_hub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
docker_hub_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
docker_hub_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
tags: "${{ needs.edge_amd64.outputs.tags }},${{ needs.edge_386.outputs.tags }},${{ needs.edge_arm64.outputs.tags }},${{ needs.edge_arm_v7.outputs.tags }}"
|
tags: "${{ needs.edge_amd64.outputs.tags }},${{ needs.edge_386.outputs.tags }},${{ needs.edge_ppc64le.outputs.tags }},${{ needs.edge_arm64.outputs.tags }},${{ needs.edge_arm_v7.outputs.tags }}"
|
||||||
alternate_registry: thecodingmachine
|
alternate_registry: thecodingmachine
|
||||||
|
|
||||||
- name: Merge AWS Lambda
|
- name: Merge AWS Lambda
|
||||||
@@ -345,4 +395,4 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
docker_hub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
docker_hub_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
docker_hub_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
docker_hub_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
tags: "${{ needs.edge_amd64.outputs.tags }},${{ needs.edge_386.outputs.tags }},${{ needs.edge_arm64.outputs.tags }},${{ needs.edge_arm_v7.outputs.tags }},${{ needs.edge_amd64.outputs.tags_aws_lambda }},${{ needs.edge_arm64.outputs.tags_aws_lambda }}"
|
tags: "${{ needs.edge_amd64.outputs.tags }},${{ needs.edge_386.outputs.tags }},${{ needs.edge_ppc64le.outputs.tags }},${{ needs.edge_arm64.outputs.tags }},${{ needs.edge_arm_v7.outputs.tags }},${{ needs.edge_amd64.outputs.tags_aws_lambda }},${{ needs.edge_arm64.outputs.tags_aws_lambda }}"
|
||||||
|
|||||||
2
Makefile
2
Makefile
@@ -163,7 +163,7 @@ NO_CONCURRENCY=false
|
|||||||
|
|
||||||
.PHONY: test-integration
|
.PHONY: test-integration
|
||||||
test-integration: ## Run integration tests
|
test-integration: ## Run integration tests
|
||||||
go test -timeout 20m -tags=integration -v github.com/gotenberg/gotenberg/v8/test/integration -args \
|
go test -timeout 40m -tags=integration -v github.com/gotenberg/gotenberg/v8/test/integration -args \
|
||||||
--gotenberg-docker-repository=$(DOCKER_REPOSITORY) \
|
--gotenberg-docker-repository=$(DOCKER_REPOSITORY) \
|
||||||
--gotenberg-version=$(GOTENBERG_VERSION) \
|
--gotenberg-version=$(GOTENBERG_VERSION) \
|
||||||
--gotenberg-container-platform=$(PLATFORM) \
|
--gotenberg-container-platform=$(PLATFORM) \
|
||||||
|
|||||||
Reference in New Issue
Block a user