ci: optimize runners usage
- always use github runners for lightweight jobs - prefer self-hosted runners in private forks - prefer self-hosted runners for workflows with large matrix
This commit is contained in:
parent
8e7edaf745
commit
4495054714
|
@ -16,7 +16,7 @@ env:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
sanity-checks:
|
sanity-checks:
|
||||||
runs-on: ${{ fromJSON(github.repository_owner == 'emqx' && '["self-hosted","ephemeral","linux","x64"]' || '["ubuntu-22.04"]') }}
|
runs-on: ubuntu-22.04
|
||||||
container: "ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu22.04"
|
container: "ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu22.04"
|
||||||
outputs:
|
outputs:
|
||||||
ct-matrix: ${{ steps.matrix.outputs.ct-matrix }}
|
ct-matrix: ${{ steps.matrix.outputs.ct-matrix }}
|
||||||
|
@ -24,8 +24,6 @@ jobs:
|
||||||
ct-docker: ${{ steps.matrix.outputs.ct-docker }}
|
ct-docker: ${{ steps.matrix.outputs.ct-docker }}
|
||||||
version-emqx: ${{ steps.matrix.outputs.version-emqx }}
|
version-emqx: ${{ steps.matrix.outputs.version-emqx }}
|
||||||
version-emqx-enterprise: ${{ steps.matrix.outputs.version-emqx-enterprise }}
|
version-emqx-enterprise: ${{ steps.matrix.outputs.version-emqx-enterprise }}
|
||||||
runner_labels: ${{ github.repository_owner == 'emqx' && '["self-hosted","ephemeral","linux","x64"]' || '["ubuntu-22.04"]' }}
|
|
||||||
xl_runner_labels: ${{ github.repository_owner == 'emqx' && '["self-hosted","ephemeral-xl","linux","x64"]' || '["ubuntu-22.04"]' }}
|
|
||||||
builder: "ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu22.04"
|
builder: "ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu22.04"
|
||||||
builder_vsn: "5.2-3"
|
builder_vsn: "5.2-3"
|
||||||
otp_vsn: "25.3.2-2"
|
otp_vsn: "25.3.2-2"
|
||||||
|
@ -116,7 +114,7 @@ jobs:
|
||||||
echo "version-emqx-enterprise=$(./pkg-vsn.sh emqx-enterprise)" | tee -a $GITHUB_OUTPUT
|
echo "version-emqx-enterprise=$(./pkg-vsn.sh emqx-enterprise)" | tee -a $GITHUB_OUTPUT
|
||||||
|
|
||||||
compile:
|
compile:
|
||||||
runs-on: ${{ fromJSON(needs.sanity-checks.outputs.xl_runner_labels) }}
|
runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral-xl","linux","x64"]') }}
|
||||||
container: ${{ needs.sanity-checks.outputs.builder }}
|
container: ${{ needs.sanity-checks.outputs.builder }}
|
||||||
needs:
|
needs:
|
||||||
- sanity-checks
|
- sanity-checks
|
||||||
|
@ -154,7 +152,6 @@ jobs:
|
||||||
- compile
|
- compile
|
||||||
uses: ./.github/workflows/run_emqx_app_tests.yaml
|
uses: ./.github/workflows/run_emqx_app_tests.yaml
|
||||||
with:
|
with:
|
||||||
runner_labels: ${{ needs.sanity-checks.outputs.xl_runner_labels }}
|
|
||||||
builder: ${{ needs.sanity-checks.outputs.builder }}
|
builder: ${{ needs.sanity-checks.outputs.builder }}
|
||||||
before_ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before }}
|
before_ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before }}
|
||||||
after_ref: ${{ github.sha }}
|
after_ref: ${{ github.sha }}
|
||||||
|
@ -165,7 +162,6 @@ jobs:
|
||||||
- compile
|
- compile
|
||||||
uses: ./.github/workflows/run_test_cases.yaml
|
uses: ./.github/workflows/run_test_cases.yaml
|
||||||
with:
|
with:
|
||||||
runner_labels: ${{ needs.sanity-checks.outputs.runner_labels }}
|
|
||||||
builder: ${{ needs.sanity-checks.outputs.builder }}
|
builder: ${{ needs.sanity-checks.outputs.builder }}
|
||||||
ct-matrix: ${{ needs.sanity-checks.outputs.ct-matrix }}
|
ct-matrix: ${{ needs.sanity-checks.outputs.ct-matrix }}
|
||||||
ct-host: ${{ needs.sanity-checks.outputs.ct-host }}
|
ct-host: ${{ needs.sanity-checks.outputs.ct-host }}
|
||||||
|
@ -177,7 +173,6 @@ jobs:
|
||||||
- compile
|
- compile
|
||||||
uses: ./.github/workflows/static_checks.yaml
|
uses: ./.github/workflows/static_checks.yaml
|
||||||
with:
|
with:
|
||||||
runner_labels: ${{ needs.sanity-checks.outputs.runner_labels }}
|
|
||||||
builder: ${{ needs.sanity-checks.outputs.builder }}
|
builder: ${{ needs.sanity-checks.outputs.builder }}
|
||||||
ct-matrix: ${{ needs.sanity-checks.outputs.ct-matrix }}
|
ct-matrix: ${{ needs.sanity-checks.outputs.ct-matrix }}
|
||||||
|
|
||||||
|
@ -186,7 +181,6 @@ jobs:
|
||||||
- sanity-checks
|
- sanity-checks
|
||||||
uses: ./.github/workflows/build_slim_packages.yaml
|
uses: ./.github/workflows/build_slim_packages.yaml
|
||||||
with:
|
with:
|
||||||
runner_labels: ${{ needs.sanity-checks.outputs.runner_labels }}
|
|
||||||
builder: ${{ needs.sanity-checks.outputs.builder }}
|
builder: ${{ needs.sanity-checks.outputs.builder }}
|
||||||
builder_vsn: ${{ needs.sanity-checks.outputs.builder_vsn }}
|
builder_vsn: ${{ needs.sanity-checks.outputs.builder_vsn }}
|
||||||
otp_vsn: ${{ needs.sanity-checks.outputs.otp_vsn }}
|
otp_vsn: ${{ needs.sanity-checks.outputs.otp_vsn }}
|
||||||
|
@ -197,7 +191,6 @@ jobs:
|
||||||
- sanity-checks
|
- sanity-checks
|
||||||
uses: ./.github/workflows/build_docker_for_test.yaml
|
uses: ./.github/workflows/build_docker_for_test.yaml
|
||||||
with:
|
with:
|
||||||
runner_labels: ${{ needs.sanity-checks.outputs.runner_labels }}
|
|
||||||
otp_vsn: ${{ needs.sanity-checks.outputs.otp_vsn }}
|
otp_vsn: ${{ needs.sanity-checks.outputs.otp_vsn }}
|
||||||
elixir_vsn: ${{ needs.sanity-checks.outputs.elixir_vsn }}
|
elixir_vsn: ${{ needs.sanity-checks.outputs.elixir_vsn }}
|
||||||
version-emqx: ${{ needs.sanity-checks.outputs.version-emqx }}
|
version-emqx: ${{ needs.sanity-checks.outputs.version-emqx }}
|
||||||
|
@ -208,8 +201,6 @@ jobs:
|
||||||
- sanity-checks
|
- sanity-checks
|
||||||
- build_slim_packages
|
- build_slim_packages
|
||||||
uses: ./.github/workflows/spellcheck.yaml
|
uses: ./.github/workflows/spellcheck.yaml
|
||||||
with:
|
|
||||||
runner_labels: ${{ needs.sanity-checks.outputs.runner_labels }}
|
|
||||||
|
|
||||||
run_conf_tests:
|
run_conf_tests:
|
||||||
needs:
|
needs:
|
||||||
|
@ -217,7 +208,6 @@ jobs:
|
||||||
- compile
|
- compile
|
||||||
uses: ./.github/workflows/run_conf_tests.yaml
|
uses: ./.github/workflows/run_conf_tests.yaml
|
||||||
with:
|
with:
|
||||||
runner_labels: ${{ needs.sanity-checks.outputs.runner_labels }}
|
|
||||||
builder: ${{ needs.sanity-checks.outputs.builder }}
|
builder: ${{ needs.sanity-checks.outputs.builder }}
|
||||||
|
|
||||||
check_deps_integrity:
|
check_deps_integrity:
|
||||||
|
@ -225,7 +215,6 @@ jobs:
|
||||||
- sanity-checks
|
- sanity-checks
|
||||||
uses: ./.github/workflows/check_deps_integrity.yaml
|
uses: ./.github/workflows/check_deps_integrity.yaml
|
||||||
with:
|
with:
|
||||||
runner_labels: ${{ needs.sanity-checks.outputs.runner_labels }}
|
|
||||||
builder: ${{ needs.sanity-checks.outputs.builder }}
|
builder: ${{ needs.sanity-checks.outputs.builder }}
|
||||||
|
|
||||||
run_jmeter_tests:
|
run_jmeter_tests:
|
||||||
|
@ -234,7 +223,6 @@ jobs:
|
||||||
- build_docker_for_test
|
- build_docker_for_test
|
||||||
uses: ./.github/workflows/run_jmeter_tests.yaml
|
uses: ./.github/workflows/run_jmeter_tests.yaml
|
||||||
with:
|
with:
|
||||||
runner_labels: ${{ needs.sanity-checks.outputs.runner_labels }}
|
|
||||||
version-emqx: ${{ needs.sanity-checks.outputs.version-emqx }}
|
version-emqx: ${{ needs.sanity-checks.outputs.version-emqx }}
|
||||||
|
|
||||||
run_docker_tests:
|
run_docker_tests:
|
||||||
|
@ -243,7 +231,6 @@ jobs:
|
||||||
- build_docker_for_test
|
- build_docker_for_test
|
||||||
uses: ./.github/workflows/run_docker_tests.yaml
|
uses: ./.github/workflows/run_docker_tests.yaml
|
||||||
with:
|
with:
|
||||||
runner_labels: ${{ needs.sanity-checks.outputs.runner_labels }}
|
|
||||||
version-emqx: ${{ needs.sanity-checks.outputs.version-emqx }}
|
version-emqx: ${{ needs.sanity-checks.outputs.version-emqx }}
|
||||||
version-emqx-enterprise: ${{ needs.sanity-checks.outputs.version-emqx-enterprise }}
|
version-emqx-enterprise: ${{ needs.sanity-checks.outputs.version-emqx-enterprise }}
|
||||||
|
|
||||||
|
@ -253,6 +240,5 @@ jobs:
|
||||||
- build_docker_for_test
|
- build_docker_for_test
|
||||||
uses: ./.github/workflows/run_helm_tests.yaml
|
uses: ./.github/workflows/run_helm_tests.yaml
|
||||||
with:
|
with:
|
||||||
runner_labels: ${{ needs.sanity-checks.outputs.runner_labels }}
|
|
||||||
version-emqx: ${{ needs.sanity-checks.outputs.version-emqx }}
|
version-emqx: ${{ needs.sanity-checks.outputs.version-emqx }}
|
||||||
version-emqx-enterprise: ${{ needs.sanity-checks.outputs.version-emqx-enterprise }}
|
version-emqx-enterprise: ${{ needs.sanity-checks.outputs.version-emqx-enterprise }}
|
||||||
|
|
|
@ -19,7 +19,7 @@ env:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
prepare:
|
prepare:
|
||||||
runs-on: ${{ fromJSON(github.repository_owner == 'emqx' && '["self-hosted","ephemeral","linux","x64"]' || '["ubuntu-22.04"]') }}
|
runs-on: ubuntu-22.04
|
||||||
container: 'ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu22.04'
|
container: 'ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu22.04'
|
||||||
outputs:
|
outputs:
|
||||||
profile: ${{ steps.parse-git-ref.outputs.profile }}
|
profile: ${{ steps.parse-git-ref.outputs.profile }}
|
||||||
|
@ -29,7 +29,6 @@ jobs:
|
||||||
ct-matrix: ${{ steps.matrix.outputs.ct-matrix }}
|
ct-matrix: ${{ steps.matrix.outputs.ct-matrix }}
|
||||||
ct-host: ${{ steps.matrix.outputs.ct-host }}
|
ct-host: ${{ steps.matrix.outputs.ct-host }}
|
||||||
ct-docker: ${{ steps.matrix.outputs.ct-docker }}
|
ct-docker: ${{ steps.matrix.outputs.ct-docker }}
|
||||||
runner_labels: ${{ github.repository_owner == 'emqx' && '["self-hosted","ephemeral","linux","x64"]' || '["ubuntu-22.04"]' }}
|
|
||||||
builder: 'ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu22.04'
|
builder: 'ghcr.io/emqx/emqx-builder/5.2-3:1.14.5-25.3.2-2-ubuntu22.04'
|
||||||
builder_vsn: '5.2-3'
|
builder_vsn: '5.2-3'
|
||||||
otp_vsn: '25.3.2-2'
|
otp_vsn: '25.3.2-2'
|
||||||
|
@ -108,7 +107,6 @@ jobs:
|
||||||
otp_vsn: ${{ needs.prepare.outputs.otp_vsn }}
|
otp_vsn: ${{ needs.prepare.outputs.otp_vsn }}
|
||||||
elixir_vsn: ${{ needs.prepare.outputs.elixir_vsn }}
|
elixir_vsn: ${{ needs.prepare.outputs.elixir_vsn }}
|
||||||
builder_vsn: ${{ needs.prepare.outputs.builder_vsn }}
|
builder_vsn: ${{ needs.prepare.outputs.builder_vsn }}
|
||||||
runner_labels: ${{ needs.prepare.outputs.runner_labels }}
|
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
build_slim_packages:
|
build_slim_packages:
|
||||||
|
@ -117,7 +115,6 @@ jobs:
|
||||||
- prepare
|
- prepare
|
||||||
uses: ./.github/workflows/build_slim_packages.yaml
|
uses: ./.github/workflows/build_slim_packages.yaml
|
||||||
with:
|
with:
|
||||||
runner_labels: ${{ needs.prepare.outputs.runner_labels }}
|
|
||||||
builder: ${{ needs.prepare.outputs.builder }}
|
builder: ${{ needs.prepare.outputs.builder }}
|
||||||
builder_vsn: ${{ needs.prepare.outputs.builder_vsn }}
|
builder_vsn: ${{ needs.prepare.outputs.builder_vsn }}
|
||||||
otp_vsn: ${{ needs.prepare.outputs.otp_vsn }}
|
otp_vsn: ${{ needs.prepare.outputs.otp_vsn }}
|
||||||
|
@ -125,7 +122,7 @@ jobs:
|
||||||
|
|
||||||
compile:
|
compile:
|
||||||
if: needs.prepare.outputs.release != 'true'
|
if: needs.prepare.outputs.release != 'true'
|
||||||
runs-on: ${{ fromJSON(needs.prepare.outputs.runner_labels) }}
|
runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }}
|
||||||
container: ${{ needs.prepare.outputs.builder }}
|
container: ${{ needs.prepare.outputs.builder }}
|
||||||
needs:
|
needs:
|
||||||
- prepare
|
- prepare
|
||||||
|
@ -162,7 +159,6 @@ jobs:
|
||||||
- compile
|
- compile
|
||||||
uses: ./.github/workflows/run_emqx_app_tests.yaml
|
uses: ./.github/workflows/run_emqx_app_tests.yaml
|
||||||
with:
|
with:
|
||||||
runner_labels: ${{ needs.prepare.outputs.runner_labels }}
|
|
||||||
builder: ${{ needs.prepare.outputs.builder }}
|
builder: ${{ needs.prepare.outputs.builder }}
|
||||||
before_ref: ${{ github.event.before }}
|
before_ref: ${{ github.event.before }}
|
||||||
after_ref: ${{ github.sha }}
|
after_ref: ${{ github.sha }}
|
||||||
|
@ -174,7 +170,6 @@ jobs:
|
||||||
- compile
|
- compile
|
||||||
uses: ./.github/workflows/run_test_cases.yaml
|
uses: ./.github/workflows/run_test_cases.yaml
|
||||||
with:
|
with:
|
||||||
runner_labels: ${{ needs.prepare.outputs.runner_labels }}
|
|
||||||
builder: ${{ needs.prepare.outputs.builder }}
|
builder: ${{ needs.prepare.outputs.builder }}
|
||||||
ct-matrix: ${{ needs.prepare.outputs.ct-matrix }}
|
ct-matrix: ${{ needs.prepare.outputs.ct-matrix }}
|
||||||
ct-host: ${{ needs.prepare.outputs.ct-host }}
|
ct-host: ${{ needs.prepare.outputs.ct-host }}
|
||||||
|
@ -187,7 +182,6 @@ jobs:
|
||||||
- compile
|
- compile
|
||||||
uses: ./.github/workflows/run_conf_tests.yaml
|
uses: ./.github/workflows/run_conf_tests.yaml
|
||||||
with:
|
with:
|
||||||
runner_labels: ${{ needs.prepare.outputs.runner_labels }}
|
|
||||||
builder: ${{ needs.prepare.outputs.builder }}
|
builder: ${{ needs.prepare.outputs.builder }}
|
||||||
|
|
||||||
static_checks:
|
static_checks:
|
||||||
|
@ -197,6 +191,5 @@ jobs:
|
||||||
- compile
|
- compile
|
||||||
uses: ./.github/workflows/static_checks.yaml
|
uses: ./.github/workflows/static_checks.yaml
|
||||||
with:
|
with:
|
||||||
runner_labels: ${{ needs.prepare.outputs.runner_labels }}
|
|
||||||
builder: ${{ needs.prepare.outputs.builder }}
|
builder: ${{ needs.prepare.outputs.builder }}
|
||||||
ct-matrix: ${{ needs.prepare.outputs.ct-matrix }}
|
ct-matrix: ${{ needs.prepare.outputs.ct-matrix }}
|
||||||
|
|
|
@ -28,9 +28,6 @@ on:
|
||||||
builder_vsn:
|
builder_vsn:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
runner_labels:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
secrets:
|
secrets:
|
||||||
DOCKER_HUB_USER:
|
DOCKER_HUB_USER:
|
||||||
required: true
|
required: true
|
||||||
|
@ -70,14 +67,10 @@ on:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: '5.2-3'
|
default: '5.2-3'
|
||||||
runner_labels:
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: '["self-hosted","ephemeral","linux","x64"]'
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
docker:
|
docker:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }}
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
|
|
@ -7,9 +7,6 @@ concurrency:
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
runner_labels:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
otp_vsn:
|
otp_vsn:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
@ -25,7 +22,7 @@ on:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
docker:
|
docker:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }}
|
||||||
env:
|
env:
|
||||||
EMQX_NAME: ${{ matrix.profile }}
|
EMQX_NAME: ${{ matrix.profile }}
|
||||||
PKG_VSN: ${{ startsWith(matrix.profile, 'emqx-enterprise') && inputs.version-emqx-enterprise || inputs.version-emqx }}
|
PKG_VSN: ${{ startsWith(matrix.profile, 'emqx-enterprise') && inputs.version-emqx-enterprise || inputs.version-emqx }}
|
||||||
|
|
|
@ -153,7 +153,7 @@ jobs:
|
||||||
retention-days: 7
|
retention-days: 7
|
||||||
|
|
||||||
linux:
|
linux:
|
||||||
runs-on: ['self-hosted', 'ephemeral', 'linux', "${{ matrix.arch }}"]
|
runs-on: [self-hosted, ephemeral, linux, "${{ matrix.arch }}"]
|
||||||
# always run in builder container because the host might have the wrong OTP version etc.
|
# always run in builder container because the host might have the wrong OTP version etc.
|
||||||
# otherwise buildx.sh does not run docker if arch and os matches the target arch and os.
|
# otherwise buildx.sh does not run docker if arch and os matches the target arch and os.
|
||||||
container:
|
container:
|
||||||
|
@ -201,8 +201,6 @@ jobs:
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: AutoModality/action-clean@v1
|
|
||||||
|
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
ref: ${{ github.event.inputs.ref }}
|
ref: ${{ github.event.inputs.ref }}
|
||||||
|
|
|
@ -12,7 +12,7 @@ on:
|
||||||
jobs:
|
jobs:
|
||||||
linux:
|
linux:
|
||||||
if: github.repository_owner == 'emqx'
|
if: github.repository_owner == 'emqx'
|
||||||
runs-on: ['self-hosted', 'ephemeral', 'linux', "${{ matrix.arch }}"]
|
runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }}
|
||||||
container:
|
container:
|
||||||
image: "ghcr.io/emqx/emqx-builder/${{ matrix.builder }}:${{ matrix.elixir }}-${{ matrix.otp }}-${{ matrix.os }}"
|
image: "ghcr.io/emqx/emqx-builder/${{ matrix.builder }}:${{ matrix.elixir }}-${{ matrix.otp }}-${{ matrix.os }}"
|
||||||
|
|
||||||
|
@ -21,7 +21,6 @@ jobs:
|
||||||
matrix:
|
matrix:
|
||||||
profile:
|
profile:
|
||||||
- ['emqx', 'master']
|
- ['emqx', 'master']
|
||||||
- ['emqx-enterprise', 'release-52']
|
|
||||||
- ['emqx-enterprise', 'release-53']
|
- ['emqx-enterprise', 'release-53']
|
||||||
otp:
|
otp:
|
||||||
- 25.3.2-2
|
- 25.3.2-2
|
||||||
|
@ -101,7 +100,6 @@ jobs:
|
||||||
otp:
|
otp:
|
||||||
- 25.3.2-2
|
- 25.3.2-2
|
||||||
os:
|
os:
|
||||||
- macos-13
|
|
||||||
- macos-12-arm64
|
- macos-12-arm64
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
|
@ -7,9 +7,6 @@ concurrency:
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
runner_labels:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
builder:
|
builder:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
@ -27,10 +24,6 @@ on:
|
||||||
inputs:
|
inputs:
|
||||||
ref:
|
ref:
|
||||||
required: false
|
required: false
|
||||||
runner_labels:
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: '["self-hosted","ephemeral", "linux", "x64"]'
|
|
||||||
builder:
|
builder:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
@ -50,7 +43,7 @@ on:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
linux:
|
linux:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }}
|
||||||
env:
|
env:
|
||||||
EMQX_NAME: ${{ matrix.profile[0] }}
|
EMQX_NAME: ${{ matrix.profile[0] }}
|
||||||
|
|
||||||
|
|
|
@ -3,16 +3,13 @@ name: Check integrity of rebar and mix dependencies
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
runner_labels:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
builder:
|
builder:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check_deps_integrity:
|
check_deps_integrity:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }}
|
||||||
container: ${{ inputs.builder }}
|
container: ${{ inputs.builder }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
|
|
@ -11,7 +11,7 @@ on:
|
||||||
jobs:
|
jobs:
|
||||||
analyze:
|
analyze:
|
||||||
name: Analyze
|
name: Analyze
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-22.04
|
||||||
timeout-minutes: 360
|
timeout-minutes: 360
|
||||||
permissions:
|
permissions:
|
||||||
actions: read
|
actions: read
|
||||||
|
|
|
@ -11,7 +11,7 @@ on:
|
||||||
jobs:
|
jobs:
|
||||||
rerun-failed-jobs:
|
rerun-failed-jobs:
|
||||||
if: github.repository_owner == 'emqx'
|
if: github.repository_owner == 'emqx'
|
||||||
runs-on: ['self-hosted', 'linux', 'x64', 'ephemeral']
|
runs-on: ubuntu-22.04
|
||||||
permissions:
|
permissions:
|
||||||
checks: read
|
checks: read
|
||||||
actions: write
|
actions: write
|
||||||
|
|
|
@ -7,16 +7,13 @@ concurrency:
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
runner_labels:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
builder:
|
builder:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run_conf_tests:
|
run_conf_tests:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }}
|
||||||
container: ${{ inputs.builder }}
|
container: ${{ inputs.builder }}
|
||||||
env:
|
env:
|
||||||
PROFILE: ${{ matrix.profile }}
|
PROFILE: ${{ matrix.profile }}
|
||||||
|
|
|
@ -7,9 +7,6 @@ concurrency:
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
runner_labels:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
version-emqx:
|
version-emqx:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
@ -19,7 +16,7 @@ on:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
basic-tests:
|
basic-tests:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }}
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
|
@ -63,7 +60,7 @@ jobs:
|
||||||
docker compose rm -fs
|
docker compose rm -fs
|
||||||
|
|
||||||
paho-mqtt-testing:
|
paho-mqtt-testing:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ github.repository_owner == 'emqx' && fromJSON('["self-hosted","ephemeral","linux","x64"]') || 'ubuntu-22.04' }}
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
|
@ -10,9 +10,6 @@ concurrency:
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
runner_labels:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
builder:
|
builder:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
@ -28,7 +25,7 @@ env:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run_emqx_app_tests:
|
run_emqx_app_tests:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }}
|
||||||
container: ${{ inputs.builder }}
|
container: ${{ inputs.builder }}
|
||||||
|
|
||||||
defaults:
|
defaults:
|
||||||
|
|
|
@ -7,9 +7,6 @@ concurrency:
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
runner_labels:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
version-emqx:
|
version-emqx:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
@ -19,7 +16,7 @@ on:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
helm_test:
|
helm_test:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ github.repository_owner == 'emqx' && fromJSON('["self-hosted","ephemeral","linux","x64"]') || 'ubuntu-22.04' }}
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
|
@ -3,16 +3,13 @@ name: JMeter integration tests
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
runner_labels:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
version-emqx:
|
version-emqx:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
jmeter_artifact:
|
jmeter_artifact:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }}
|
||||||
steps:
|
steps:
|
||||||
- name: Cache Jmeter
|
- name: Cache Jmeter
|
||||||
id: cache-jmeter
|
id: cache-jmeter
|
||||||
|
@ -42,7 +39,7 @@ jobs:
|
||||||
retention-days: 3
|
retention-days: 3
|
||||||
|
|
||||||
advanced_feat:
|
advanced_feat:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ github.repository_owner == 'emqx' && fromJSON('["self-hosted","ephemeral","linux","x64"]') || 'ubuntu-22.04' }}
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -94,7 +91,7 @@ jobs:
|
||||||
retention-days: 3
|
retention-days: 3
|
||||||
|
|
||||||
pgsql_authn_authz:
|
pgsql_authn_authz:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ github.repository_owner == 'emqx' && fromJSON('["self-hosted","ephemeral","linux","x64"]') || 'ubuntu-22.04' }}
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -161,7 +158,7 @@ jobs:
|
||||||
retention-days: 3
|
retention-days: 3
|
||||||
|
|
||||||
mysql_authn_authz:
|
mysql_authn_authz:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ github.repository_owner == 'emqx' && fromJSON('["self-hosted","ephemeral","linux","x64"]') || 'ubuntu-22.04' }}
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -221,7 +218,7 @@ jobs:
|
||||||
retention-days: 3
|
retention-days: 3
|
||||||
|
|
||||||
JWT_authn:
|
JWT_authn:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ github.repository_owner == 'emqx' && fromJSON('["self-hosted","ephemeral","linux","x64"]') || 'ubuntu-22.04' }}
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -273,7 +270,7 @@ jobs:
|
||||||
retention-days: 3
|
retention-days: 3
|
||||||
|
|
||||||
built_in_database_authn_authz:
|
built_in_database_authn_authz:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ github.repository_owner == 'emqx' && fromJSON('["self-hosted","ephemeral","linux","x64"]') || 'ubuntu-22.04' }}
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
|
|
@ -7,16 +7,13 @@ concurrency:
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
runner:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
builder:
|
builder:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
relup_test_plan:
|
relup_test_plan:
|
||||||
runs-on: ["${{ inputs.runner }}", 'linux', 'x64', 'ephemeral']
|
runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }}
|
||||||
container: ${{ inputs.builder }}
|
container: ${{ inputs.builder }}
|
||||||
outputs:
|
outputs:
|
||||||
CUR_EE_VSN: ${{ steps.find-versions.outputs.CUR_EE_VSN }}
|
CUR_EE_VSN: ${{ steps.find-versions.outputs.CUR_EE_VSN }}
|
||||||
|
@ -60,7 +57,7 @@ jobs:
|
||||||
needs:
|
needs:
|
||||||
- relup_test_plan
|
- relup_test_plan
|
||||||
if: needs.relup_test_plan.outputs.OLD_VERSIONS != '[]'
|
if: needs.relup_test_plan.outputs.OLD_VERSIONS != '[]'
|
||||||
runs-on: ["${{ inputs.runner }}", 'linux', 'x64', 'ephemeral']
|
runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
|
|
|
@ -7,9 +7,6 @@ concurrency:
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
runner_labels:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
builder:
|
builder:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
@ -28,7 +25,7 @@ env:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
eunit_and_proper:
|
eunit_and_proper:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ github.repository_owner == 'emqx' && fromJSON('["self-hosted","ephemeral","linux","x64"]') || 'ubuntu-22.04' }}
|
||||||
name: "eunit_and_proper (${{ matrix.profile }})"
|
name: "eunit_and_proper (${{ matrix.profile }})"
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -71,7 +68,7 @@ jobs:
|
||||||
retention-days: 7
|
retention-days: 7
|
||||||
|
|
||||||
ct_docker:
|
ct_docker:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ github.repository_owner == 'emqx' && fromJSON('["self-hosted","ephemeral","linux","x64"]') || 'ubuntu-22.04' }}
|
||||||
name: "${{ matrix.app }}-${{ matrix.suitegroup }} (${{ matrix.profile }})"
|
name: "${{ matrix.app }}-${{ matrix.suitegroup }} (${{ matrix.profile }})"
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -124,7 +121,7 @@ jobs:
|
||||||
retention-days: 7
|
retention-days: 7
|
||||||
|
|
||||||
ct:
|
ct:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ github.repository_owner == 'emqx' && fromJSON('["self-hosted","ephemeral","linux","x64"]') || 'ubuntu-22.04' }}
|
||||||
name: "${{ matrix.app }}-${{ matrix.suitegroup }} (${{ matrix.profile }})"
|
name: "${{ matrix.app }}-${{ matrix.suitegroup }} (${{ matrix.profile }})"
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -175,7 +172,7 @@ jobs:
|
||||||
- eunit_and_proper
|
- eunit_and_proper
|
||||||
- ct
|
- ct
|
||||||
- ct_docker
|
- ct_docker
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
steps:
|
steps:
|
||||||
|
@ -186,7 +183,7 @@ jobs:
|
||||||
- eunit_and_proper
|
- eunit_and_proper
|
||||||
- ct
|
- ct
|
||||||
- ct_docker
|
- ct_docker
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }}
|
||||||
container: ${{ inputs.builder }}
|
container: ${{ inputs.builder }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -226,7 +223,7 @@ jobs:
|
||||||
# do this in a separate job
|
# do this in a separate job
|
||||||
upload_coverdata:
|
upload_coverdata:
|
||||||
needs: make_cover
|
needs: make_cover
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ubuntu-22.04
|
||||||
steps:
|
steps:
|
||||||
- name: Coveralls Finished
|
- name: Coveralls Finished
|
||||||
env:
|
env:
|
||||||
|
|
|
@ -6,10 +6,6 @@ concurrency:
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
|
||||||
runner_labels:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
spellcheck:
|
spellcheck:
|
||||||
|
@ -18,7 +14,7 @@ jobs:
|
||||||
profile:
|
profile:
|
||||||
- emqx
|
- emqx
|
||||||
- emqx-enterprise
|
- emqx-enterprise
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/download-artifact@v3
|
- uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
|
|
|
@ -11,7 +11,7 @@ on:
|
||||||
jobs:
|
jobs:
|
||||||
stale:
|
stale:
|
||||||
if: github.repository_owner == 'emqx'
|
if: github.repository_owner == 'emqx'
|
||||||
runs-on: ['self-hosted', 'linux', 'x64', 'ephemeral']
|
runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }}
|
||||||
permissions:
|
permissions:
|
||||||
issues: write
|
issues: write
|
||||||
pull-requests: none
|
pull-requests: none
|
||||||
|
|
|
@ -7,9 +7,6 @@ concurrency:
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
runner_labels:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
builder:
|
builder:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
@ -22,7 +19,7 @@ env:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
static_checks:
|
static_checks:
|
||||||
runs-on: ${{ fromJSON(inputs.runner_labels) }}
|
runs-on: ${{ github.repository_owner == 'emqx' && fromJSON('["self-hosted","ephemeral","linux","x64"]') || 'ubuntu-22.04' }}
|
||||||
name: "static_checks (${{ matrix.profile }})"
|
name: "static_checks (${{ matrix.profile }})"
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
|
Loading…
Reference in New Issue