Skip to content

Bundle Lua language server into the editor (#8914) #1358

Bundle Lua language server into the editor (#8914)

Bundle Lua language server into the editor (#8914) #1358

Workflow file for this run

name: CI - Editor Only
on:
push:
branches:
- 'DEFEDIT-*'
- 'editor-dev'
env:
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_SECRET_KEY: ${{ secrets.S3_SECRET_KEY }}
NOTARIZATION_USERNAME: ${{ secrets.NOTARIZATION_USERNAME }}
NOTARIZATION_PASSWORD: ${{ secrets.NOTARIZATION_PASSWORD }}
NOTARIZATION_ITC_PROVIDER: ${{ secrets.NOTARIZATION_ITC_PROVIDER }}
DM_PACKAGES_URL: ${{ secrets.DM_PACKAGES_URL }}
DM_ARCHIVE_DOMAIN: ${{ secrets.DM_ARCHIVE_DOMAIN }}
DM_RELEASE_REPOSITORY: ${{ secrets.DM_RELEASE_REPOSITORY }}
GCLOUD_EDITOR_SERVICE_KEY: ${{ secrets.GCLOUD_EDITOR_SERVICE_KEY }}
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
MACOS_CERTIFICATE_PASS: ${{ secrets.MACOS_CERTIFICATE_PASS }}
SERVICES_GITHUB_TOKEN: ${{ secrets.SERVICES_GITHUB_TOKEN }}
DEFOLD_EDITOR_DISABLE_PERFORMANCE_TESTS: true
jobs:
build-editor:
runs-on: ubuntu-20.04
steps: [
{
name: 'Checkout',
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
},
{ name: 'Fetch tags', run: 'git fetch --depth=1 origin +refs/tags/*:refs/tags/*' },
{ name: 'Install Python', uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c, with: { python-version: 3.12, architecture: x64 } },
{ name: 'Install Java', uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9, with: { java-version: '17.0.5+8', distribution: 'temurin'} },
{ name: 'Install Leiningen', uses: DeLaGuardo/setup-clojure@bc7570e912b028bbcc22f457adec7fdf98e2f4ed, with: { lein: 2.8.3 } },
{ name: 'Install dependencies', run: sudo apt-get install -y libgl1-mesa-dev libglw1-mesa-dev freeglut3-dev },
{
name: 'Build editor',
run: 'ci/ci.sh build-editor'
},
{
name: 'Archive editor',
run: 'ci/ci.sh archive-editor'
}]
sign-editor-macos:
needs: [build-editor]
runs-on: macOS-13
strategy:
matrix:
platform: [x86_64-macos, arm64-macos]
steps: [
{ name: 'Checkout', uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 },
{ name: 'Install Python', uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c, with: { python-version: 3.12, architecture: x64 } },
{ name: 'Install Java', uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9, with: { java-version: '17.0.5+8', distribution: 'temurin'} },
{
name: 'Download editor',
run: 'ci/ci.sh download-editor --platform=${{ matrix.platform }}'
},
{
name: 'Install dependencies',
run: 'ci/ci.sh --keychain-cert="${{env.MACOS_CERTIFICATE}}" --keychain-cert-pass="${{env.MACOS_CERTIFICATE_PASS}}" install'
},
{
name: 'Sign editor',
run: 'ci/ci.sh sign-editor --platform=${{ matrix.platform }}'
},
{
name: 'Notarize editor',
run: 'ci/ci.sh --platform=${{ matrix.platform }} --notarization-username="${{env.NOTARIZATION_USERNAME}}" --notarization-password="${{env.NOTARIZATION_PASSWORD}}" --notarization-itc-provider="${{env.NOTARIZATION_ITC_PROVIDER}}" notarize-editor'
},
{
name: 'Archive editor',
run: 'ci/ci.sh archive-editor --platform=${{ matrix.platform }}'
}]
sign-editor-windows:
needs: [build-editor]
runs-on: ubuntu-20.04
strategy:
matrix:
platform: [x86_64-win32]
steps: [
{ name: 'Checkout', uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 },
{ name: 'Install Python', uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c, with: { python-version: 3.12, architecture: x64 } },
{ name: 'Install Java', uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9, with: { java-version: '17.0.5+8', distribution: 'temurin'} },
{
name: 'Download editor',
shell: bash,
run: 'ci/ci.sh download-editor --platform=${{ matrix.platform }}'
},
{
name: 'Install dependencies',
shell: bash,
run: 'ci/ci.sh install'
},
{
name: 'Install ext dependencies',
shell: bash,
run: 'ci/ci.sh install_ext --platform=${{ matrix.platform }}'
},
{
name: 'Sign editor',
shell: bash,
run: 'ci/ci.sh sign-editor --gcloud-service-key="${{env.GCLOUD_EDITOR_SERVICE_KEY}}" --platform=${{ matrix.platform }}'
},
{
name: 'Archive editor',
shell: bash,
run: 'ci/ci.sh archive-editor --platform=${{ matrix.platform }}'
}]
# ---- RELEASE ------------------
release:
needs: [sign-editor-macos, sign-editor-windows]
runs-on: ubuntu-20.04
steps: [
{
name: 'Checkout',
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
},
{ name: 'Fetch tags', run: 'git fetch --depth=1 origin +refs/tags/*:refs/tags/*' },
{ name: 'Install Python', uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c, with: { python-version: 3.12, architecture: x64 } },
{ name: 'Setup git user', run: 'git config --global user.email "[email protected]" && git config --global user.name "Defold Services"' },
{
name: 'Install ext dependencies', # only needed for some python dependencies (should have a separate python setup function?)
shell: bash,
run: 'ci/ci.sh install_ext'
},
{
name: 'Release',
run: 'ci/ci.sh release'
}]