fix spacing #10521
Workflow file for this run
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 - Main | |
on: | |
push: | |
branches-ignore: | |
- 'skip-ci-*' | |
- 'DEFEDIT-*' | |
- 'editor-dev' | |
repository_dispatch: {} | |
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 }} | |
WINDOWS_CERTIFICATE: ${{ secrets.WINDOWS_CERTIFICATE }} | |
WINDOWS_CERTIFICATE_PASS: ${{ secrets.WINDOWS_CERTIFICATE_PASS }} | |
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} | |
MACOS_CERTIFICATE_PASS: ${{ secrets.MACOS_CERTIFICATE_PASS }} | |
BUILD_BRANCH: ${{ github.event.client_payload.branch }} | |
SERVICES_GITHUB_TOKEN: ${{ secrets.SERVICES_GITHUB_TOKEN }} | |
DEFOLD_EDITOR_DISABLE_PERFORMANCE_TESTS: true | |
jobs: | |
# ---- BUILD ENGINE VERSIONS ------------------ | |
bld-eng-windows: | |
strategy: | |
matrix: | |
platform: [win32, x86_64-win32] | |
runs-on: windows-latest | |
steps: [ | |
{ name: 'Checkout', uses: actions/checkout@v3, with: { ref: '${{env.BUILD_BRANCH}}' } }, | |
{ name: 'Install Python', uses: actions/setup-python@v3, with: { python-version: 3.x, architecture: x64 } }, | |
{ name: 'Install Java', uses: actions/setup-java@v3, with: { java-version: '17.0.5+8', distribution: 'temurin'} }, | |
{ name: 'Install dependencies', shell: bash, run: 'ci/ci.sh install --platform=${{ matrix.platform }}' }, | |
{ | |
name: 'Build engine', | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_engine != true)), | |
shell: bash, | |
run: 'ci/ci.sh --platform=${{ matrix.platform }} --archive --skip-builtins --skip-docs engine' | |
}, | |
{ | |
name: 'Notify if build status changed', | |
uses: homoluctus/slatify@master, | |
if: failure(), | |
with: { type: '${{ job.status }}', job_name: '${{ job.status }}: platform: ${{ matrix.platform }}', channel: '#defold-alarms-build', url: '${{ secrets.SLACK_WEBHOOK }}', | |
mention: 'here', mention_if: 'failure', commit: true, token: '${{ secrets.SERVICES_GITHUB_TOKEN }}' } | |
}] | |
bld-eng-darwin: | |
strategy: | |
matrix: | |
platform: [x86_64-macos, arm64-macos, arm64-ios, x86_64-ios] | |
runs-on: macos-latest | |
steps: [ | |
{ name: 'Checkout', uses: actions/checkout@v3, with: { ref: '${{env.BUILD_BRANCH}}' } }, | |
{ name: 'Install Python', uses: actions/setup-python@v3, with: { python-version: 3.x, architecture: x64 } }, | |
{ name: 'XCode', uses: maxim-lobanov/setup-xcode@v1, with: { xcode-version: '14.2' } }, | |
{ name: 'Install Java', uses: actions/setup-java@v3, with: { java-version: '17.0.5+8', distribution: 'temurin'} }, | |
{ | |
name: 'Build engine', | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_engine != true)), | |
run: 'ci/ci.sh --platform=${{ matrix.platform }} --archive --skip-builtins --skip-docs engine' | |
}, | |
{ | |
name: 'Notify if build status changed', | |
uses: homoluctus/slatify@master, | |
if: failure(), | |
with: { type: '${{ job.status }}', job_name: '${{ job.status }}: platform: ${{ matrix.platform }}', channel: '#defold-alarms-build', url: '${{ secrets.SLACK_WEBHOOK }}', | |
mention: 'here', mention_if: 'failure', commit: true, token: '${{ secrets.SERVICES_GITHUB_TOKEN }}' } | |
}] | |
bld-eng-web: | |
strategy: | |
matrix: | |
platform: [js-web, wasm-web] | |
runs-on: ubuntu-20.04 | |
steps: [ | |
{ name: 'Checkout', uses: actions/checkout@v3, with: { ref: '${{env.BUILD_BRANCH}}' } }, | |
{ name: 'Install Python', uses: actions/setup-python@v3, with: { python-version: 3.x, architecture: x64 } }, | |
{ name: 'Install Java', uses: actions/setup-java@v3, with: { java-version: '17.0.5+8', distribution: 'temurin'} }, | |
{ name: 'Install dependencies', run: 'ci/ci.sh install --platform=${{ matrix.platform }}' }, | |
{ | |
name: 'Build engine', | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_engine != true)), | |
run: 'ci/ci.sh --platform=${{ matrix.platform }} --archive --skip-tests --skip-builtins --skip-docs --skip-build-tests engine' | |
}, | |
{ | |
name: 'Notify if build status changed', | |
uses: homoluctus/slatify@master, | |
if: failure(), | |
with: { type: '${{ job.status }}', job_name: '${{ job.status }}: platform: ${{ matrix.platform }}', channel: '#defold-alarms-build', url: '${{ secrets.SLACK_WEBHOOK }}', | |
mention: 'here', mention_if: 'failure', commit: true, token: '${{ secrets.SERVICES_GITHUB_TOKEN }}' } | |
}] | |
bld-eng-android: | |
strategy: | |
matrix: | |
platform: [armv7-android, arm64-android] | |
runs-on: ubuntu-20.04 | |
steps: [ | |
{ name: 'Checkout', uses: actions/checkout@v3, with: { ref: '${{env.BUILD_BRANCH}}' } }, | |
{ name: 'Install Python', uses: actions/setup-python@v3, with: { python-version: 3.x, architecture: x64 } }, | |
{ name: 'Install Java', uses: actions/setup-java@v3, with: { java-version: '17.0.5+8', distribution: 'temurin'} }, | |
{ name: 'Install dependencies', run: 'ci/ci.sh install --platform=${{ matrix.platform }}' }, | |
{ | |
name: 'Build engine', | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_engine != true)), | |
run: 'ci/ci.sh --platform=${{ matrix.platform }} --archive --skip-tests --skip-builtins --skip-docs engine' | |
}, | |
{ | |
name: 'Notify if build status changed', | |
uses: homoluctus/slatify@master, | |
if: failure(), | |
with: { type: '${{ job.status }}', job_name: '${{ job.status }}: platform: ${{ matrix.platform }}', channel: '#defold-alarms-build', url: '${{ secrets.SLACK_WEBHOOK }}', | |
mention: 'here', mention_if: 'failure', commit: true, token: '${{ secrets.SERVICES_GITHUB_TOKEN }}' } | |
}] | |
bld-eng-linux: | |
strategy: | |
matrix: | |
platform: [x86_64-linux] | |
runs-on: ubuntu-20.04 | |
steps: [ | |
{ name: 'Checkout', uses: actions/checkout@v3, with: { ref: '${{env.BUILD_BRANCH}}' } }, | |
{ name: 'Install Python', uses: actions/setup-python@v3, with: { python-version: 3.x, architecture: x64 } }, | |
{ name: 'Install Java', uses: actions/setup-java@v3, with: { java-version: '17.0.5+8', distribution: 'temurin'} }, | |
{ name: 'Install dependencies', run: 'ci/ci.sh install --platform=${{ matrix.platform }}' }, | |
{ | |
name: 'Build engine', | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_engine != true)), | |
run: 'ci/ci.sh --platform=${{ matrix.platform }} --archive engine' | |
}, | |
{ | |
name: 'Notify if build status changed', | |
uses: homoluctus/slatify@master, | |
if: failure(), | |
with: { type: '${{ job.status }}', job_name: '${{ job.status }}: platform: ${{ matrix.platform }}', channel: '#defold-alarms-build', url: '${{ secrets.SLACK_WEBHOOK }}', | |
mention: 'here', mention_if: 'failure', commit: true, token: '${{ secrets.SERVICES_GITHUB_TOKEN }}' } | |
}] | |
bld-eng-switch: | |
strategy: | |
matrix: | |
platform: [arm64-nx64] | |
runs-on: windows-latest | |
steps: [ | |
{ name: 'Checkout', uses: actions/checkout@v3, with: { ref: '${{env.BUILD_BRANCH}}' } }, | |
{ name: 'Install Python', uses: actions/setup-python@v3, with: { python-version: 3.x, architecture: x64 } }, | |
{ name: 'Install Java', uses: actions/setup-java@v3, with: { java-version: '17.0.5+8', distribution: 'temurin'} }, | |
{ name: 'Install dependencies', shell: bash, run: 'ci/ci.sh install --platform=${{ matrix.platform }}' }, | |
{ | |
name: 'Build engine', | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_engine != true)), | |
shell: bash, | |
run: 'ci/ci.sh --platform=${{ matrix.platform }} --archive --skip-docs --skip-tests engine' | |
}, | |
{ | |
name: 'Notify if build status changed', | |
uses: homoluctus/slatify@master, | |
if: failure(), | |
with: { type: '${{ job.status }}', job_name: '${{ job.status }}: platform: ${{ matrix.platform }}', channel: '#defold-alarms-build', url: '${{ secrets.SLACK_WEBHOOK }}', | |
mention: 'here', mention_if: 'failure', commit: true, token: '${{ secrets.SERVICES_GITHUB_TOKEN }}' } | |
}] | |
bld-eng-ps: | |
strategy: | |
matrix: | |
platform: [x86_64-ps4, x86_64-ps5] | |
runs-on: windows-latest | |
steps: [ | |
{ name: 'Checkout', uses: actions/checkout@v3, with: { ref: '${{env.BUILD_BRANCH}}' } }, | |
{ name: 'Install Python', uses: actions/setup-python@v3, with: { python-version: 3.x, architecture: x64 } }, | |
{ name: 'Install Java', uses: actions/setup-java@v3, with: { java-version: '17.0.5+8', distribution: 'temurin'} }, | |
{ name: 'Install dependencies', shell: bash, run: 'ci/ci.sh install --platform=${{ matrix.platform }}' }, | |
{ | |
name: 'Build engine', | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_engine != true)), | |
shell: bash, | |
run: 'ci/ci.sh --platform=${{ matrix.platform }} --archive --skip-docs --skip-tests engine' | |
}, | |
{ | |
name: 'Notify if build status changed', | |
uses: homoluctus/slatify@master, | |
if: failure(), | |
with: { type: '${{ job.status }}', job_name: '${{ job.status }}: platform: ${{ matrix.platform }}', channel: '#defold-alarms-build', url: '${{ secrets.SLACK_WEBHOOK }}', | |
mention: 'here', mention_if: 'failure', commit: true, token: '${{ secrets.SERVICES_GITHUB_TOKEN }}' } | |
}] | |
# ---- BUILD BOB AND SDK ------------------ | |
build-bob: | |
needs: [bld-eng-darwin, bld-eng-windows, bld-eng-linux, bld-eng-android, bld-eng-web, bld-eng-switch, bld-eng-ps] | |
runs-on: ubuntu-20.04 | |
steps: [ | |
{ name: 'Checkout', uses: actions/checkout@v3, with: { ref: '${{env.BUILD_BRANCH}}' } }, | |
{ name: 'Install Python', uses: actions/setup-python@v3, with: { python-version: 3.x, architecture: x64 } }, | |
{ name: 'Install Java', uses: actions/setup-java@v3, with: { java-version: '17.0.5+8', distribution: 'temurin'} }, | |
{ | |
name: 'Build bob', | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_bob != true)), | |
run: 'ci/ci.sh bob' | |
}, | |
{ | |
name: 'Notify if build status changed', | |
uses: homoluctus/slatify@master, | |
if: failure(), | |
with: { type: '${{ job.status }}', job_name: '${{ job.status }}', channel: '#defold-alarms-build', url: '${{ secrets.SLACK_WEBHOOK }}', | |
mention: 'here', mention_if: 'failure', commit: true, token: '${{ secrets.SERVICES_GITHUB_TOKEN }}' } | |
}] | |
build-sdk: | |
needs: [bld-eng-darwin, bld-eng-windows, bld-eng-linux, bld-eng-android, bld-eng-web, bld-eng-switch, bld-eng-ps] | |
runs-on: ubuntu-20.04 | |
steps: [ | |
{ name: 'Checkout', uses: actions/checkout@v3, with: { ref: '${{env.BUILD_BRANCH}}' } }, | |
{ name: 'Install Python', uses: actions/setup-python@v3, with: { python-version: 3.x, architecture: x64 } }, | |
{ | |
name: 'Build SDK', | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_sdk != true)), | |
run: 'ci/ci.sh sdk' | |
}, | |
{ | |
name: 'Notify if build status changed', | |
uses: homoluctus/slatify@master, | |
if: failure(), | |
with: { type: '${{ job.status }}', job_name: '${{ job.status }}', channel: '#defold-alarms-build', url: '${{ secrets.SLACK_WEBHOOK }}', | |
mention: 'here', mention_if: 'failure', commit: true, token: '${{ secrets.SERVICES_GITHUB_TOKEN }}' } | |
}] | |
# ---- BUILD EDITOR ------------------ | |
build-editor: | |
needs: [build-bob] | |
runs-on: ubuntu-20.04 | |
steps: [ | |
{ name: 'Checkout', uses: actions/checkout@v3, with: { ref: '${{env.BUILD_BRANCH}}' } }, | |
{ name: 'Fetch tags', run: 'git fetch --depth=1 origin +refs/tags/*:refs/tags/*' }, | |
{ name: 'Install Python', uses: actions/setup-python@v3, with: { python-version: 3.x, architecture: x64 } }, | |
{ name: 'Install Java', uses: actions/setup-java@v3, with: { java-version: '17.0.5+8', distribution: 'temurin'} }, | |
{ name: 'Install Leiningen', uses: DeLaGuardo/setup-clojure@master, with: { lein: 2.8.3 } }, | |
{ name: 'Install dependencies', run: sudo apt-get install -y libopenal-dev libgl1-mesa-dev libglw1-mesa-dev freeglut3-dev }, | |
{ | |
name: 'Build editor', | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_editor != true)), | |
run: 'ci/ci.sh build-editor' | |
}, | |
{ | |
name: 'Archive editor', | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_editor != true)), | |
run: 'ci/ci.sh archive-editor' | |
}, | |
{ | |
name: 'Notify if build status changed', | |
uses: homoluctus/slatify@master, | |
if: failure(), | |
with: { type: '${{ job.status }}', job_name: '${{ job.status }}', channel: '#defold-alarms-build', url: '${{ secrets.SLACK_WEBHOOK }}', | |
mention: 'here', mention_if: 'failure', commit: true, token: '${{ secrets.SERVICES_GITHUB_TOKEN }}' } | |
}] | |
sign-editor-darwin: | |
needs: [build-editor] | |
runs-on: macOS-latest | |
strategy: | |
matrix: | |
platform: [x86_64-macos] | |
steps: [ | |
{ name: 'Checkout', uses: actions/checkout@v3, with: { ref: '${{env.BUILD_BRANCH}}' } }, | |
{ name: 'Install Python', uses: actions/setup-python@v3, with: { python-version: 3.x, architecture: x64 } }, | |
{ name: 'Install Java', uses: actions/setup-java@v3, with: { java-version: '17.0.5+8', distribution: 'temurin'} }, | |
{ | |
name: 'Download editor', | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_sign != true)), | |
run: 'ci/ci.sh download-editor --platform=${{ matrix.platform }}' | |
}, | |
{ | |
name: 'Install dependencies', | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_sign != true)), | |
run: 'ci/ci.sh --keychain-cert="${{env.MACOS_CERTIFICATE}}" --keychain-cert-pass="${{env.MACOS_CERTIFICATE_PASS}}" install' | |
}, | |
{ | |
name: 'Sign editor', | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_sign != true)), | |
run: 'ci/ci.sh sign-editor --platform=${{ matrix.platform }}' | |
}, | |
{ | |
name: 'Notarize editor', | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_sign != true)), | |
run: 'ci/ci.sh --notarization-username="${{env.NOTARIZATION_USERNAME}}" --notarization-password="${{env.NOTARIZATION_PASSWORD}}" --notarization-itc-provider="${{env.NOTARIZATION_ITC_PROVIDER}}" notarize-editor' | |
}, | |
{ | |
name: 'Archive editor', | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_sign != true)), | |
run: 'ci/ci.sh archive-editor --platform=${{ matrix.platform }}' | |
}, | |
{ | |
name: 'Notify if build status changed', | |
uses: homoluctus/slatify@master, | |
if: failure(), | |
with: { type: '${{ job.status }}', job_name: '${{ job.status }}', channel: '#defold-alarms-build', url: '${{ secrets.SLACK_WEBHOOK }}', | |
mention: 'here', mention_if: 'failure', commit: true, token: '${{ secrets.SERVICES_GITHUB_TOKEN }}' } | |
}] | |
sign-editor-windows: | |
needs: [build-editor] | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
platform: [x86_64-win32] | |
steps: [ | |
{ name: 'Checkout', uses: actions/checkout@v3, with: { ref: '${{env.BUILD_BRANCH}}' } }, | |
{ name: 'Install Python', uses: actions/setup-python@v3, with: { python-version: 3.x, architecture: x64 } }, | |
{ name: 'Install Java', uses: actions/setup-java@v3, with: { java-version: '17.0.5+8', distribution: 'temurin'} }, | |
{ | |
name: 'Download editor', | |
shell: bash, | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_sign != true)), | |
run: 'ci/ci.sh download-editor --platform=${{ matrix.platform }}' | |
}, | |
{ | |
name: 'Install dependencies', | |
shell: bash, | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_sign != true)), | |
run: 'ci/ci.sh --windows-cert-b64="${{env.WINDOWS_CERTIFICATE}}" --windows-cert-pass="${{env.WINDOWS_CERTIFICATE_PASS}}" install' | |
}, | |
{ | |
name: 'Install ext dependencies', | |
shell: bash, | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_sign != true)), | |
run: 'ci/ci.sh install_ext --platform=${{ matrix.platform }}' | |
}, | |
{ | |
name: 'Sign editor', | |
shell: bash, | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_sign != true)), | |
run: 'ci/ci.sh sign-editor --windows-cert=./ci/windows_cert.pfx --windows-cert-pass=./ci/windows_cert.pass --platform=${{ matrix.platform }}' | |
}, | |
{ | |
name: 'Archive editor', | |
shell: bash, | |
if: (github.event_name != 'repository_dispatch') || ((github.event_name == 'repository_dispatch') && (github.event.client_payload.skip_sign != true)), | |
run: 'ci/ci.sh archive-editor --platform=${{ matrix.platform }}' | |
}, | |
{ | |
name: 'Notify if build status changed', | |
uses: homoluctus/slatify@master, | |
if: failure(), | |
with: { type: '${{ job.status }}', job_name: '${{ job.status }}', channel: '#defold-alarms-build', url: '${{ secrets.SLACK_WEBHOOK }}', | |
mention: 'here', mention_if: 'failure', commit: true, token: '${{ secrets.SERVICES_GITHUB_TOKEN }}' } | |
}] | |
# ---- RELEASE ------------------ | |
release: | |
needs: [sign-editor-darwin, sign-editor-windows] | |
runs-on: ubuntu-20.04 | |
steps: [ | |
{ name: 'Checkout', uses: actions/checkout@v3, with: { ref: '${{env.BUILD_BRANCH}}' } }, | |
{ name: 'Fetch tags', run: 'git fetch --depth=1 origin +refs/tags/*:refs/tags/*' }, | |
{ name: 'Install Python', uses: actions/setup-python@v3, with: { python-version: 3.x, architecture: x64 } }, | |
{ name: 'Setup git user', run: 'git config --global user.email "services@defold.se" && 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' | |
}, | |
{ | |
name: 'Publish updated API ref', | |
uses: defold/repository-dispatch@1.2.1, | |
if: (github.ref == 'refs/heads/master') || (github.ref == 'refs/heads/beta') || (github.ref == 'refs/heads/dev'), | |
with: { | |
repo: 'defold/defold.github.io', | |
token: '${{ secrets.SERVICES_GITHUB_TOKEN }}', | |
user: 'services@defold.se', | |
action: 'refdoc' | |
} | |
}, | |
{ | |
name: 'Notify if build status changed', | |
uses: homoluctus/slatify@master, | |
if: failure(), | |
with: { type: '${{ job.status }}', job_name: '${{ job.status }}', channel: '#defold-alarms-build', url: '${{ secrets.SLACK_WEBHOOK }}', | |
mention: 'here', mention_if: 'failure', commit: true, token: '${{ secrets.SERVICES_GITHUB_TOKEN }}' } | |
}] |