use arm runner to build arm64/v7/v6 docker image
This commit is contained in:
+22
-4
@@ -1,4 +1,4 @@
|
|||||||
name: Build docker image for linux
|
name: Build docker image and package for linux
|
||||||
|
|
||||||
inputs:
|
inputs:
|
||||||
release-build:
|
release-build:
|
||||||
@@ -40,6 +40,12 @@ inputs:
|
|||||||
docker-bake-digests-artifact-name-prefix:
|
docker-bake-digests-artifact-name-prefix:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
package-file-name-prefix:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
package-artifact-name-prefix:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: "composite"
|
using: "composite"
|
||||||
@@ -71,7 +77,6 @@ runs:
|
|||||||
./docker-bake.hcl
|
./docker-bake.hcl
|
||||||
cwd://${{ inputs.docker-bake-meta-file-path }}
|
cwd://${{ inputs.docker-bake-meta-file-path }}
|
||||||
source: .
|
source: .
|
||||||
load: true
|
|
||||||
targets: image
|
targets: image
|
||||||
set: |
|
set: |
|
||||||
*.tags=${{ inputs.docker-image-name }}
|
*.tags=${{ inputs.docker-image-name }}
|
||||||
@@ -80,8 +85,8 @@ runs:
|
|||||||
*.args.BUILD_PIPELINE=1
|
*.args.BUILD_PIPELINE=1
|
||||||
*.args.CHECK_3RD_API=${{ inputs.check-3rd-api }}
|
*.args.CHECK_3RD_API=${{ inputs.check-3rd-api }}
|
||||||
*.args.SKIP_TESTS=${{ inputs.skip-tests }}
|
*.args.SKIP_TESTS=${{ inputs.skip-tests }}
|
||||||
*.output=type=image,push-by-digest=${{ inputs.docker-push }},name-canonical=true,push=${{ inputs.docker-push }}
|
*.output=type=image,push-by-digest=true,name-canonical=true,push=${{ inputs.docker-push }}
|
||||||
*.output+=type=tar,dest=${{ runner.temp }}/docker-image.tar
|
*.output+=type=local,dest=${{ runner.temp }}/package
|
||||||
|
|
||||||
- name: Export digests file for ${{ inputs.platform-name }}
|
- name: Export digests file for ${{ inputs.platform-name }}
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -90,9 +95,22 @@ runs:
|
|||||||
mkdir -p ${{ inputs.docker-bake-digests-file-path }}
|
mkdir -p ${{ inputs.docker-bake-digests-file-path }}
|
||||||
touch "${{ inputs.docker-bake-digests-file-path }}/${digest#sha256:}"
|
touch "${{ inputs.docker-bake-digests-file-path }}/${digest#sha256:}"
|
||||||
|
|
||||||
|
- name: Build package file for ${{ inputs.platform-name }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cd ${{ runner.temp }}/package/ezbookkeeping
|
||||||
|
tar -czf ${{ runner.temp }}/${{ inputs.package-file-name-prefix }}-${{ inputs.platform-name }}.tar.gz *
|
||||||
|
|
||||||
- name: Upload ${{ inputs.platform-name }} digests artifact
|
- name: Upload ${{ inputs.platform-name }} digests artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ inputs.docker-bake-digests-artifact-name-prefix }}-${{ inputs.platform-name }}
|
name: ${{ inputs.docker-bake-digests-artifact-name-prefix }}-${{ inputs.platform-name }}
|
||||||
path: ${{ inputs.docker-bake-digests-file-path }}/*
|
path: ${{ inputs.docker-bake-digests-file-path }}/*
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
|
- name: Upload artifact for ${{ inputs.platform-name }}
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{ inputs.package-artifact-name-prefix }}-${{ inputs.platform-name }}
|
||||||
|
path: ${{ runner.temp }}/${{ inputs.package-file-name-prefix }}-${{ inputs.platform-name }}.tar.gz
|
||||||
|
if-no-files-found: error
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
name: Build packages for windows and upload to artifact
|
name: Build packages for windows
|
||||||
|
|
||||||
inputs:
|
inputs:
|
||||||
package-file-name-prefix:
|
package-file-name-prefix:
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
name: Upload linux package to artifact
|
|
||||||
|
|
||||||
inputs:
|
|
||||||
platform:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
platform-name:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
docker-image-name:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
docker-version:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
docker-username:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
docker-password:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
package-file-name-prefix:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
package-artifact-name-prefix:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
|
|
||||||
runs:
|
|
||||||
using: "composite"
|
|
||||||
steps:
|
|
||||||
- name: Login to DockerHub
|
|
||||||
if: ${{ inputs.docker-username != '' && inputs.docker-password != '' }}
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
username: ${{ inputs.docker-username }}
|
|
||||||
password: ${{ inputs.docker-password }}
|
|
||||||
|
|
||||||
- name: Pull and save packaged files for ${{ inputs.platform-name }}
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
docker pull --platform ${{ inputs.platform }} ${{ inputs.docker-image-name }}:${{ inputs.docker-version }}
|
|
||||||
containerid=$(docker create "${{ inputs.docker-image-name }}:${{ inputs.docker-version }}")
|
|
||||||
docker cp ${containerid}:/ezbookkeeping ./ezbookkeeping
|
|
||||||
cd ezbookkeeping
|
|
||||||
tar -czf ../${{ inputs.package-file-name-prefix }}-${{ inputs.platform-name }}.tar.gz *
|
|
||||||
|
|
||||||
- name: Upload artifact for ${{ inputs.platform-name }}
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: ${{ inputs.package-artifact-name-prefix }}-${{ inputs.platform-name }}
|
|
||||||
path: ${{ inputs.package-file-name-prefix }}-${{ inputs.platform-name }}.tar.gz
|
|
||||||
if-no-files-found: error
|
|
||||||
@@ -15,6 +15,9 @@ jobs:
|
|||||||
ezbookkeeping-docker-bake-meta-artifact-name: ${{ steps.variable.outputs.ezbookkeeping_docker_bake_meta_artifact_name }}
|
ezbookkeeping-docker-bake-meta-artifact-name: ${{ steps.variable.outputs.ezbookkeeping_docker_bake_meta_artifact_name }}
|
||||||
ezbookkeeping-docker-digests-file-path: ${{ steps.variable.outputs.ezbookkeeping_docker_digests_file_path }}
|
ezbookkeeping-docker-digests-file-path: ${{ steps.variable.outputs.ezbookkeeping_docker_digests_file_path }}
|
||||||
ezbookkeeping-docker-digests-artifact-name-prefix: ${{ steps.variable.outputs.ezbookkeeping_docker_digests_artifact_name_prefix }}
|
ezbookkeeping-docker-digests-artifact-name-prefix: ${{ steps.variable.outputs.ezbookkeeping_docker_digests_artifact_name_prefix }}
|
||||||
|
ezbookkeeping-package-file-name-prefix: ${{ steps.variable.outputs.ezbookkeeping_package_file_name_prefix }}
|
||||||
|
ezbookkeeping-package-artifact-name-prefix: ${{ steps.variable.outputs.ezbookkeeping_package_artifact_name_prefix }}
|
||||||
|
ezbookkeeping-backend-artifact-name-prefix: ${{ steps.variable.outputs.ezbookkeeping_backend_artifact_name_prefix }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v5
|
||||||
@@ -34,7 +37,10 @@ jobs:
|
|||||||
echo "ezbookkeeping_docker_bake_meta_file_path=${{ runner.temp }}/bake-meta.json" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_docker_bake_meta_file_path=${{ runner.temp }}/bake-meta.json" >> "$GITHUB_OUTPUT"
|
||||||
echo "ezbookkeeping_docker_bake_meta_artifact_name=ezbookkeeping-build-dev-docker-bake-meta-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_docker_bake_meta_artifact_name=ezbookkeeping-build-dev-docker-bake-meta-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
||||||
echo "ezbookkeeping_docker_digests_file_path=${{ runner.temp }}/digests" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_docker_digests_file_path=${{ runner.temp }}/digests" >> "$GITHUB_OUTPUT"
|
||||||
echo "ezbookkeeping_docker_digests_artifact_name_prefix=ezbookkeeping-dev-digests-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_docker_digests_artifact_name_prefix=ezbookkeeping-build-dev-digests-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
||||||
|
echo "ezbookkeeping_package_file_name_prefix=ezbookkeeping-dev-package-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
||||||
|
echo "ezbookkeeping_package_artifact_name_prefix=ezbookkeeping-build-dev-package-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
||||||
|
echo "ezbookkeeping_backend_artifact_name_prefix=ezbookkeeping-build-dev-backend-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
- name: Rename docker bake meta file
|
- name: Rename docker bake meta file
|
||||||
run: |
|
run: |
|
||||||
@@ -47,20 +53,47 @@ jobs:
|
|||||||
path: ${{ steps.variable.outputs.ezbookkeeping_docker_bake_meta_file_path }}
|
path: ${{ steps.variable.outputs.ezbookkeeping_docker_bake_meta_file_path }}
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
build-linux-docker:
|
build-linux-docker-and-package-x86:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-24.04
|
||||||
|
needs:
|
||||||
|
- setup
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- uses: ./.github/actions/build-linux-docker-and-package
|
||||||
|
with:
|
||||||
|
check-3rd-api: ${{ vars.CHECK_3RD_API }}
|
||||||
|
skip-tests: ${{ vars.SKIP_TESTS }}
|
||||||
|
platform: linux/amd64
|
||||||
|
platform-name: linux-amd64
|
||||||
|
docker-push: false
|
||||||
|
docker-image-name: ${{ vars.DOCKER_IMAGE_NAME }}
|
||||||
|
docker-bake-meta-file-path: ${{ needs.setup.outputs.ezbookkeeping-docker-bake-meta-file-path }}
|
||||||
|
docker-bake-meta-artifact-name: ${{ needs.setup.outputs.ezbookkeeping-docker-bake-meta-artifact-name }}
|
||||||
|
docker-bake-digests-file-path: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-file-path }}
|
||||||
|
docker-bake-digests-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-artifact-name-prefix }}
|
||||||
|
package-file-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-file-name-prefix }}
|
||||||
|
package-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-artifact-name-prefix }}
|
||||||
|
|
||||||
|
build-linux-docker-and-package-arm:
|
||||||
|
runs-on: ubuntu-24.04-arm
|
||||||
needs:
|
needs:
|
||||||
- setup
|
- setup
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- platform: linux/amd64
|
- platform: linux/arm64/v8
|
||||||
platform-name: linux-amd64
|
platform-name: linux-arm64
|
||||||
|
- platform: linux/arm/v7
|
||||||
|
platform-name: linux-armv7
|
||||||
|
- platform: linux/arm/v6
|
||||||
|
platform-name: linux-armv6
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
- uses: ./.github/actions/build-linux-docker
|
- uses: ./.github/actions/build-linux-docker-and-package
|
||||||
with:
|
with:
|
||||||
check-3rd-api: ${{ vars.CHECK_3RD_API }}
|
check-3rd-api: ${{ vars.CHECK_3RD_API }}
|
||||||
skip-tests: ${{ vars.SKIP_TESTS }}
|
skip-tests: ${{ vars.SKIP_TESTS }}
|
||||||
@@ -72,3 +105,35 @@ jobs:
|
|||||||
docker-bake-meta-artifact-name: ${{ needs.setup.outputs.ezbookkeeping-docker-bake-meta-artifact-name }}
|
docker-bake-meta-artifact-name: ${{ needs.setup.outputs.ezbookkeeping-docker-bake-meta-artifact-name }}
|
||||||
docker-bake-digests-file-path: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-file-path }}
|
docker-bake-digests-file-path: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-file-path }}
|
||||||
docker-bake-digests-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-artifact-name-prefix }}
|
docker-bake-digests-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-artifact-name-prefix }}
|
||||||
|
package-file-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-file-name-prefix }}
|
||||||
|
package-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-artifact-name-prefix }}
|
||||||
|
|
||||||
|
build-windows-backend:
|
||||||
|
needs:
|
||||||
|
- setup
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- uses: ./.github/actions/build-windows-backend
|
||||||
|
with:
|
||||||
|
check-3rd-api: ${{ vars.CHECK_3RD_API }}
|
||||||
|
skip-tests: ${{ vars.SKIP_TESTS }}
|
||||||
|
backend-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-backend-artifact-name-prefix }}
|
||||||
|
|
||||||
|
build-windows-package:
|
||||||
|
needs:
|
||||||
|
- setup
|
||||||
|
- build-windows-backend
|
||||||
|
- build-linux-docker-and-package-x86
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- uses: ./.github/actions/build-windows-package
|
||||||
|
with:
|
||||||
|
package-file-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-file-name-prefix }}
|
||||||
|
package-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-artifact-name-prefix }}
|
||||||
|
backend-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-backend-artifact-name-prefix }}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ jobs:
|
|||||||
echo "ezbookkeeping_docker_bake_meta_file_path=${{ runner.temp }}/bake-meta.json" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_docker_bake_meta_file_path=${{ runner.temp }}/bake-meta.json" >> "$GITHUB_OUTPUT"
|
||||||
echo "ezbookkeeping_docker_bake_meta_artifact_name=ezbookkeeping-build-release-docker-bake-meta-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_docker_bake_meta_artifact_name=ezbookkeeping-build-release-docker-bake-meta-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
||||||
echo "ezbookkeeping_docker_digests_file_path=${{ runner.temp }}/digests" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_docker_digests_file_path=${{ runner.temp }}/digests" >> "$GITHUB_OUTPUT"
|
||||||
echo "ezbookkeeping_docker_digests_artifact_name_prefix=ezbookkeeping-release-digests-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_docker_digests_artifact_name_prefix=ezbookkeeping-build-release-digests-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
||||||
echo "ezbookkeeping_package_file_name_prefix=ezbookkeeping-${{ github.ref_name }}" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_package_file_name_prefix=ezbookkeeping-${{ github.ref_name }}" >> "$GITHUB_OUTPUT"
|
||||||
echo "ezbookkeeping_package_artifact_name_prefix=ezbookkeeping-build-release-package-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_package_artifact_name_prefix=ezbookkeeping-build-release-package-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
||||||
echo "ezbookkeeping_backend_artifact_name_prefix=ezbookkeeping-build-release-backend-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_backend_artifact_name_prefix=ezbookkeeping-build-release-backend-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
||||||
@@ -56,15 +56,39 @@ jobs:
|
|||||||
path: ${{ steps.variable.outputs.ezbookkeeping_docker_bake_meta_file_path }}
|
path: ${{ steps.variable.outputs.ezbookkeeping_docker_bake_meta_file_path }}
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
build-linux-docker:
|
build-linux-docker-and-package-x86:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-24.04
|
||||||
|
needs:
|
||||||
|
- setup
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- uses: ./.github/actions/build-linux-docker-and-package
|
||||||
|
with:
|
||||||
|
release-build: 1
|
||||||
|
check-3rd-api: ${{ vars.CHECK_3RD_API }}
|
||||||
|
skip-tests: ${{ vars.SKIP_TESTS }}
|
||||||
|
platform: linux/amd64
|
||||||
|
platform-name: linux-amd64
|
||||||
|
docker-push: true
|
||||||
|
docker-image-name: ${{ vars.DOCKER_IMAGE_NAME }}
|
||||||
|
docker-username: ${{ vars.DOCKER_USERNAME }}
|
||||||
|
docker-password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
docker-bake-meta-file-path: ${{ needs.setup.outputs.ezbookkeeping-docker-bake-meta-file-path }}
|
||||||
|
docker-bake-meta-artifact-name: ${{ needs.setup.outputs.ezbookkeeping-docker-bake-meta-artifact-name }}
|
||||||
|
docker-bake-digests-file-path: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-file-path }}
|
||||||
|
docker-bake-digests-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-artifact-name-prefix }}
|
||||||
|
package-file-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-file-name-prefix }}
|
||||||
|
package-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-artifact-name-prefix }}
|
||||||
|
|
||||||
|
build-linux-docker-and-package-arm:
|
||||||
|
runs-on: ubuntu-24.04-arm
|
||||||
needs:
|
needs:
|
||||||
- setup
|
- setup
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- platform: linux/amd64
|
|
||||||
platform-name: linux-amd64
|
|
||||||
- platform: linux/arm64/v8
|
- platform: linux/arm64/v8
|
||||||
platform-name: linux-arm64
|
platform-name: linux-arm64
|
||||||
- platform: linux/arm/v7
|
- platform: linux/arm/v7
|
||||||
@@ -75,7 +99,7 @@ jobs:
|
|||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
- uses: ./.github/actions/build-linux-docker
|
- uses: ./.github/actions/build-linux-docker-and-package
|
||||||
with:
|
with:
|
||||||
release-build: 1
|
release-build: 1
|
||||||
check-3rd-api: ${{ vars.CHECK_3RD_API }}
|
check-3rd-api: ${{ vars.CHECK_3RD_API }}
|
||||||
@@ -90,11 +114,14 @@ jobs:
|
|||||||
docker-bake-meta-artifact-name: ${{ needs.setup.outputs.ezbookkeeping-docker-bake-meta-artifact-name }}
|
docker-bake-meta-artifact-name: ${{ needs.setup.outputs.ezbookkeeping-docker-bake-meta-artifact-name }}
|
||||||
docker-bake-digests-file-path: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-file-path }}
|
docker-bake-digests-file-path: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-file-path }}
|
||||||
docker-bake-digests-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-artifact-name-prefix }}
|
docker-bake-digests-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-artifact-name-prefix }}
|
||||||
|
package-file-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-file-name-prefix }}
|
||||||
|
package-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-artifact-name-prefix }}
|
||||||
|
|
||||||
push-linux-docker:
|
push-linux-docker:
|
||||||
needs:
|
needs:
|
||||||
- setup
|
- setup
|
||||||
- build-linux-docker
|
- build-linux-docker-and-package-x86
|
||||||
|
- build-linux-docker-and-package-arm
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -111,37 +138,6 @@ jobs:
|
|||||||
docker-bake-digests-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-artifact-name-prefix }}
|
docker-bake-digests-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-artifact-name-prefix }}
|
||||||
docker-image-tags: ${{ needs.setup.outputs.docker-tags }}
|
docker-image-tags: ${{ needs.setup.outputs.docker-tags }}
|
||||||
|
|
||||||
upload-linux-package:
|
|
||||||
needs:
|
|
||||||
- setup
|
|
||||||
- push-linux-docker
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- platform: linux/amd64
|
|
||||||
platform-name: linux-amd64
|
|
||||||
- platform: linux/arm64/v8
|
|
||||||
platform-name: linux-arm64
|
|
||||||
- platform: linux/arm/v7
|
|
||||||
platform-name: linux-armv7
|
|
||||||
- platform: linux/arm/v6
|
|
||||||
platform-name: linux-armv6
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v5
|
|
||||||
|
|
||||||
- uses: ./.github/actions/upload-linux-package
|
|
||||||
with:
|
|
||||||
platform: ${{ matrix.platform }}
|
|
||||||
platform-name: ${{ matrix.platform-name }}
|
|
||||||
docker-image-name: ${{ vars.DOCKER_IMAGE_NAME }}
|
|
||||||
docker-version: ${{ needs.setup.outputs.docker-version }}
|
|
||||||
docker-username: ${{ vars.DOCKER_USERNAME }}
|
|
||||||
docker-password: ${{ secrets.DOCKER_PASSWORD }}
|
|
||||||
package-file-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-file-name-prefix }}
|
|
||||||
package-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-artifact-name-prefix }}
|
|
||||||
|
|
||||||
build-windows-backend:
|
build-windows-backend:
|
||||||
needs:
|
needs:
|
||||||
- setup
|
- setup
|
||||||
@@ -157,17 +153,17 @@ jobs:
|
|||||||
skip-tests: ${{ vars.SKIP_TESTS }}
|
skip-tests: ${{ vars.SKIP_TESTS }}
|
||||||
backend-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-backend-artifact-name-prefix }}
|
backend-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-backend-artifact-name-prefix }}
|
||||||
|
|
||||||
build-and-upload-windows-package:
|
build-windows-package:
|
||||||
needs:
|
needs:
|
||||||
- setup
|
- setup
|
||||||
- build-windows-backend
|
- build-windows-backend
|
||||||
- upload-linux-package
|
- build-linux-docker-and-package-x86
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
- uses: ./.github/actions/build-and-upload-windows-package
|
- uses: ./.github/actions/build-windows-package
|
||||||
with:
|
with:
|
||||||
package-file-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-file-name-prefix }}
|
package-file-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-file-name-prefix }}
|
||||||
package-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-artifact-name-prefix }}
|
package-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-artifact-name-prefix }}
|
||||||
@@ -177,13 +173,15 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs:
|
needs:
|
||||||
- setup
|
- setup
|
||||||
- upload-linux-package
|
- build-linux-docker-and-package-x86
|
||||||
- build-and-upload-windows-package
|
- build-linux-docker-and-package-arm
|
||||||
|
- build-windows-package
|
||||||
|
- push-linux-docker
|
||||||
steps:
|
steps:
|
||||||
- name: Download all packaged files
|
- name: Download all packaged files
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
pattern: ${{ needs.setup.outputs.ezbookkeeping_package_artifact_name_prefix }}-*
|
pattern: ${{ needs.setup.outputs.ezbookkeeping-package-artifact-name-prefix }}-*
|
||||||
merge-multiple: true
|
merge-multiple: true
|
||||||
path: release-files
|
path: release-files
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ jobs:
|
|||||||
echo "ezbookkeeping_docker_bake_meta_file_path=${{ runner.temp }}/bake-meta.json" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_docker_bake_meta_file_path=${{ runner.temp }}/bake-meta.json" >> "$GITHUB_OUTPUT"
|
||||||
echo "ezbookkeeping_docker_bake_meta_artifact_name=ezbookkeeping-build-dev-docker-bake-meta-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_docker_bake_meta_artifact_name=ezbookkeeping-build-dev-docker-bake-meta-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
||||||
echo "ezbookkeeping_docker_digests_file_path=${{ runner.temp }}/digests" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_docker_digests_file_path=${{ runner.temp }}/digests" >> "$GITHUB_OUTPUT"
|
||||||
echo "ezbookkeeping_docker_digests_artifact_name_prefix=ezbookkeeping-dev-digests-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_docker_digests_artifact_name_prefix=ezbookkeeping-build-dev-digests-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
||||||
echo "ezbookkeeping_package_file_name_prefix=ezbookkeeping-dev-package-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_package_file_name_prefix=ezbookkeeping-dev-package-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
||||||
echo "ezbookkeeping_package_artifact_name_prefix=ezbookkeeping-build-dev-package-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_package_artifact_name_prefix=ezbookkeeping-build-dev-package-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
||||||
echo "ezbookkeeping_backend_artifact_name_prefix=ezbookkeeping-build-dev-backend-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
echo "ezbookkeeping_backend_artifact_name_prefix=ezbookkeeping-build-dev-backend-${{ github.run_id }}" >> "$GITHUB_OUTPUT"
|
||||||
@@ -56,15 +56,38 @@ jobs:
|
|||||||
path: ${{ steps.variable.outputs.ezbookkeeping_docker_bake_meta_file_path }}
|
path: ${{ steps.variable.outputs.ezbookkeeping_docker_bake_meta_file_path }}
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
build-linux-docker:
|
build-linux-docker-and-package-x86:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-24.04
|
||||||
|
needs:
|
||||||
|
- setup
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- uses: ./.github/actions/build-linux-docker-and-package
|
||||||
|
with:
|
||||||
|
check-3rd-api: ${{ vars.CHECK_3RD_API }}
|
||||||
|
skip-tests: ${{ vars.SKIP_TESTS }}
|
||||||
|
platform: linux/amd64
|
||||||
|
platform-name: linux-amd64
|
||||||
|
docker-push: true
|
||||||
|
docker-image-name: ${{ vars.DOCKER_IMAGE_NAME }}
|
||||||
|
docker-username: ${{ vars.DOCKER_USERNAME }}
|
||||||
|
docker-password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
docker-bake-meta-file-path: ${{ needs.setup.outputs.ezbookkeeping-docker-bake-meta-file-path }}
|
||||||
|
docker-bake-meta-artifact-name: ${{ needs.setup.outputs.ezbookkeeping-docker-bake-meta-artifact-name }}
|
||||||
|
docker-bake-digests-file-path: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-file-path }}
|
||||||
|
docker-bake-digests-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-artifact-name-prefix }}
|
||||||
|
package-file-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-file-name-prefix }}
|
||||||
|
package-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-artifact-name-prefix }}
|
||||||
|
|
||||||
|
build-linux-docker-and-package-arm:
|
||||||
|
runs-on: ubuntu-24.04-arm
|
||||||
needs:
|
needs:
|
||||||
- setup
|
- setup
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- platform: linux/amd64
|
|
||||||
platform-name: linux-amd64
|
|
||||||
- platform: linux/arm64/v8
|
- platform: linux/arm64/v8
|
||||||
platform-name: linux-arm64
|
platform-name: linux-arm64
|
||||||
- platform: linux/arm/v7
|
- platform: linux/arm/v7
|
||||||
@@ -75,7 +98,7 @@ jobs:
|
|||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
- uses: ./.github/actions/build-linux-docker
|
- uses: ./.github/actions/build-linux-docker-and-package
|
||||||
with:
|
with:
|
||||||
check-3rd-api: ${{ vars.CHECK_3RD_API }}
|
check-3rd-api: ${{ vars.CHECK_3RD_API }}
|
||||||
skip-tests: ${{ vars.SKIP_TESTS }}
|
skip-tests: ${{ vars.SKIP_TESTS }}
|
||||||
@@ -89,11 +112,14 @@ jobs:
|
|||||||
docker-bake-meta-artifact-name: ${{ needs.setup.outputs.ezbookkeeping-docker-bake-meta-artifact-name }}
|
docker-bake-meta-artifact-name: ${{ needs.setup.outputs.ezbookkeeping-docker-bake-meta-artifact-name }}
|
||||||
docker-bake-digests-file-path: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-file-path }}
|
docker-bake-digests-file-path: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-file-path }}
|
||||||
docker-bake-digests-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-artifact-name-prefix }}
|
docker-bake-digests-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-artifact-name-prefix }}
|
||||||
|
package-file-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-file-name-prefix }}
|
||||||
|
package-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-artifact-name-prefix }}
|
||||||
|
|
||||||
push-linux-docker:
|
push-linux-docker:
|
||||||
needs:
|
needs:
|
||||||
- setup
|
- setup
|
||||||
- build-linux-docker
|
- build-linux-docker-and-package-x86
|
||||||
|
- build-linux-docker-and-package-arm
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -110,37 +136,6 @@ jobs:
|
|||||||
docker-bake-digests-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-artifact-name-prefix }}
|
docker-bake-digests-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-docker-digests-artifact-name-prefix }}
|
||||||
docker-image-tags: ${{ needs.setup.outputs.docker-tags }}
|
docker-image-tags: ${{ needs.setup.outputs.docker-tags }}
|
||||||
|
|
||||||
upload-linux-package:
|
|
||||||
needs:
|
|
||||||
- setup
|
|
||||||
- push-linux-docker
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- platform: linux/amd64
|
|
||||||
platform-name: linux-amd64
|
|
||||||
- platform: linux/arm64/v8
|
|
||||||
platform-name: linux-arm64
|
|
||||||
- platform: linux/arm/v7
|
|
||||||
platform-name: linux-armv7
|
|
||||||
- platform: linux/arm/v6
|
|
||||||
platform-name: linux-armv6
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v5
|
|
||||||
|
|
||||||
- uses: ./.github/actions/upload-linux-package
|
|
||||||
with:
|
|
||||||
platform: ${{ matrix.platform }}
|
|
||||||
platform-name: ${{ matrix.platform-name }}
|
|
||||||
docker-image-name: ${{ vars.DOCKER_IMAGE_NAME }}
|
|
||||||
docker-version: ${{ needs.setup.outputs.docker-version }}
|
|
||||||
docker-username: ${{ vars.DOCKER_USERNAME }}
|
|
||||||
docker-password: ${{ secrets.DOCKER_PASSWORD }}
|
|
||||||
package-file-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-file-name-prefix }}
|
|
||||||
package-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-artifact-name-prefix }}
|
|
||||||
|
|
||||||
build-windows-backend:
|
build-windows-backend:
|
||||||
needs:
|
needs:
|
||||||
- setup
|
- setup
|
||||||
@@ -155,17 +150,17 @@ jobs:
|
|||||||
skip-tests: ${{ vars.SKIP_TESTS }}
|
skip-tests: ${{ vars.SKIP_TESTS }}
|
||||||
backend-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-backend-artifact-name-prefix }}
|
backend-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-backend-artifact-name-prefix }}
|
||||||
|
|
||||||
build-and-upload-windows-package:
|
build-windows-package:
|
||||||
needs:
|
needs:
|
||||||
- setup
|
- setup
|
||||||
- build-windows-backend
|
- build-windows-backend
|
||||||
- upload-linux-package
|
- build-linux-docker-and-package-x86
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
- uses: ./.github/actions/build-and-upload-windows-package
|
- uses: ./.github/actions/build-windows-package
|
||||||
with:
|
with:
|
||||||
package-file-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-file-name-prefix }}
|
package-file-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-file-name-prefix }}
|
||||||
package-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-artifact-name-prefix }}
|
package-artifact-name-prefix: ${{ needs.setup.outputs.ezbookkeeping-package-artifact-name-prefix }}
|
||||||
|
|||||||
Reference in New Issue
Block a user