Skip to content

Huly Code Release

Huly Code Release #35

name: Huly Code Release
on:
workflow_dispatch:
env:
artifacts_dir: 'out/huly-code/artifacts'
android_commit: 'c6262f02dcd4f1f813e4820e995861251c8fff54'
jobs:
# a single job for all OSes cannot be used due to free disk space lack on runners
build-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
with:
submodules: recursive
- uses: ./.github/actions/build_ide
with:
os: linux
arch: x64
extension: tar.gz
- uses: ./.github/actions/upload_ide
with:
os: linux
extension: tar.gz
artifacts_dir: ${{env.artifacts_dir}}
name-prefix: artifact-
build-windows:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
with:
submodules: recursive
- uses: ./.github/actions/build_ide
with:
os: windows
arch: x64
extension: exe
- uses: ./.github/actions/upload_ide
with:
os: windows
extension: exe
artifacts_dir: ${{env.artifacts_dir}}
name-prefix: artifact-
- uses: ./.github/actions/upload_ide
with:
os: windows
extension: win.zip
artifacts_dir: ${{env.artifacts_dir}}
name-prefix: artifact-
build-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4.2.2
with:
submodules: recursive
- name: Checkout JetBrains/android
uses: actions/checkout@v4.2.2
with:
repository: JetBrains/android
path: android
ref: ${{env.android_commit}}
- name: Update submodule
shell: bash
# language=bash
run: git submodule update --init --remote --recursive
- name: Import certificates
uses: apple-actions/import-codesign-certs@v3
with:
p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
- name: Build macos artifacts
env:
APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }}
APPLE_KEY_ID: ${{ secrets.APPLE_KEY_ID }}
APPLE_PRIVATE_KEY: ${{ secrets.APPLE_PRIVATE_KEY }}
shell: bash
# language=bash
run: |
chmod +x ./installers-huly.cmd
./installers-huly.cmd -Dintellij.build.target.os=mac -Dintellij.build.target.arch=aarch64 -Dintellij.build.dev.mode=false
- name: Upload .dmg
uses: ./.github/actions/upload_ide
with:
os: mac
extension: dmg
artifacts_dir: ${{env.artifacts_dir}}
name-prefix: artifact-
publish:
needs: [build-linux, build-windows, build-macos]
runs-on: ubuntu-latest
steps:
- name: Download All Artifacts
uses: actions/download-artifact@v4
with:
path: publish
pattern: artifact-*
merge-multiple: true
- run: ls -R publish
- name: Publish artifacts to R2
uses: ryand56/r2-upload-action@latest
with:
r2-account-id: ${{ secrets.R2_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }}
r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }}
r2-bucket: desktop-distro
source-dir: ./publish/
destination-dir: ./code/