Bundle Lua language server into the editor (#8914) #1358
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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' | |
}] |