building only x64 for Linux/Windows and aarch64 for macOS to spare GitHub runner's disk space

(cherry picked from commit 9f2b0f3cc4b0ab1fa730c121e99ce58229d613c9)

GitOrigin-RevId: 8f8ddc5fe13e32f90f449a32984da7baeea3a11d
This commit is contained in:
Dmitriy.Panov
2025-11-05 12:21:28 +01:00
committed by intellij-monorepo-bot
parent b298da3ade
commit cd53474e62
3 changed files with 24 additions and 11 deletions

View File

@@ -2,6 +2,9 @@ inputs:
os:
description: 'linux, windows or mac'
required: true
arch:
description: 'x64 or aarch64'
required: true
extension:
description: 'tar.gz, exe or sit'
required: true
@@ -21,7 +24,7 @@ runs:
shell: bash
# language=bash
run: docker build . --target ${{inputs.product}} --tag ${{inputs.product}}
- name: Build .${{inputs.extension}}
- name: Build ${{inputs.arch}}.${{inputs.extension}}
shell: bash
# language=bash
run: docker run --rm --user "$(id -u)" --volume "${PWD}:/community" ${{inputs.product}} -Dintellij.build.target.os=${{inputs.os}}
run: docker run --rm --user "$(id -u)" --volume "${PWD}:/community" ${{inputs.product}} -Dintellij.build.target.os=${{inputs.os}} -Dintellij.build.target.arch=${{inputs.arch}}

View File

@@ -2,6 +2,9 @@ inputs:
os:
description: 'linux, windows or mac'
required: true
arch:
description: 'x64 or aarch64'
required: true
extension:
description: 'tar.gz, exe, sit or dmg'
required: true
@@ -31,10 +34,10 @@ runs:
if ls *.${{inputs.extension}}.spdx.json; then
for it in *.${{inputs.extension}}.spdx.json; do checksum "$it"; done
fi
- name: Upload .${{inputs.extension}}
- name: Upload ${{inputs.arch}}.${{inputs.extension}}
uses: actions/upload-artifact@v4.4.3
with:
name: ${{inputs.os}}-${{inputs.extension}}-unsigned
name: ${{inputs.os}}-${{inputs.arch}}-${{inputs.extension}}-unsigned
if-no-files-found: 'error'
retention-days: 1
path: |

View File

@@ -13,46 +13,52 @@ on:
required: true
jobs:
build-linux:
build-linux-x64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: ./.github/actions/build_ide
with:
os: linux
arch: x64
extension: tar.gz
product: ${{inputs.product}}
- uses: ./.github/actions/upload_ide
with:
os: linux
arch: x64
extension: tar.gz
artifacts_dir: ${{inputs.artifacts_dir}}
build-windows:
build-windows-x64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: ./.github/actions/build_ide
with:
os: windows
arch: x64
extension: exe
product: ${{inputs.product}}
- uses: ./.github/actions/upload_ide
with:
os: windows
arch: x64
extension: exe
artifacts_dir: ${{inputs.artifacts_dir}}
build-macos:
build-macos-aarch64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: ./.github/actions/build_ide
with:
os: mac
arch: aarch64
extension: sit
product: ${{inputs.product}}
- uses: ./.github/actions/upload_ide
with:
os: mac
arch: aarch64
extension: sit
artifacts_dir: ${{inputs.artifacts_dir}}
- name: Upload .dmg build scripts
@@ -64,18 +70,18 @@ jobs:
path: ${{inputs.artifacts_dir}}/macos-dmg-build/
build-dmg:
runs-on: macos-latest
needs: build-macos
needs: build-macos-aarch64
steps:
- uses: actions/checkout@v4.2.2
- name: Download .dmg build scripts
uses: actions/download-artifact@v4.1.8
with:
name: dmg-build-scripts
- name: Download .sit
- name: Download aarch64.sit
uses: actions/download-artifact@v4.1.8
with:
name: mac-sit-unsigned
- name: Build .dmg
name: mac-aarch64-sit-unsigned
- name: Build aarch64.dmg
shell: bash
# language=bash
run: /bin/bash ./build.sh
@@ -83,5 +89,6 @@ jobs:
uses: ./.github/actions/upload_ide
with:
os: mac
arch: aarch64
extension: dmg
artifacts_dir: .