ci: move things around

This commit is contained in:
Ivan Dyachkov 2023-07-20 18:41:34 +02:00
parent c7d68ed25d
commit 4374785cd7
6 changed files with 104 additions and 75 deletions

View File

@ -89,6 +89,14 @@ jobs:
ct-host: ${{ needs.sanity-checks.outputs.ct-host }}
ct-docker: ${{ needs.sanity-checks.outputs.ct-docker }}
static_checks:
needs:
- sanity-checks
- compile
uses: ./.github/workflows/static_checks.yaml
with:
ct-matrix: ${{ needs.sanity-checks.outputs.ct-matrix }}
build_slim_packages:
needs:
- sanity-checks
@ -97,7 +105,6 @@ jobs:
build_docker_for_test:
needs:
- sanity-checks
- compile
uses: ./.github/workflows/build_docker_for_test.yaml
with:
version-emqx: ${{ needs.sanity-checks.outputs.version-emqx }}
@ -105,8 +112,7 @@ jobs:
spellcheck:
needs:
- sanity-checks
- compile
- build_slim_packages
uses: ./.github/workflows/spellcheck.yaml
run_conf_tests:

View File

@ -48,12 +48,7 @@ jobs:
- ["emqx-enterprise", "5.0.1"]
steps:
- uses: actions/download-artifact@v3
with:
name: ${{ matrix.profile[0] }}
- name: extract artifact
run: |
unzip -o -q $EMQX_NAME.zip
- uses: actions/checkout@v3
- name: build and export to Docker
run: |
docker build -t $EMQX_IMAGE_TAG --build-arg EMQX_NAME=$EMQX_NAME -f ./deploy/docker/Dockerfile .
@ -82,6 +77,7 @@ jobs:
with:
name: "${{ matrix.profile[0] }}-docker"
path: "${{ env.EMQX_NAME }}-docker-${{ env.PKG_VSN }}.tar.gz"
retention-days: 7
- name: cleanup
if: always()
working-directory: ./scripts/ui-tests

View File

@ -78,45 +78,14 @@ jobs:
with:
name: "${{ matrix.profile[0] }}-${{ matrix.profile[1] }}-${{ matrix.profile[2] }}"
path: _packages/${{ matrix.profile[0] }}/*
retention-days: 7
- uses: actions/upload-artifact@v3
with:
name: "${{ matrix.profile[0] }}_schema_dump"
path: |
scripts/spellcheck
_build/docgen/${{ matrix.profile[0] }}/schema-en.json
mac:
strategy:
fail-fast: false
matrix:
profile:
- emqx
- emqx-enterprise
otp:
- 25.3.2-1
os:
- macos-11
- macos-12-arm64
runs-on: ${{ matrix.os }}
env:
EMQX_NAME: ${{ matrix.profile }}
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/package-macos
with:
profile: ${{ matrix.profile }}
otp: ${{ matrix.otp }}
os: ${{ matrix.os }}
apple_id_password: ${{ secrets.APPLE_ID_PASSWORD }}
apple_developer_identity: ${{ secrets.APPLE_DEVELOPER_IDENTITY }}
apple_developer_id_bundle: ${{ secrets.APPLE_DEVELOPER_ID_BUNDLE }}
apple_developer_id_bundle_password: ${{ secrets.APPLE_DEVELOPER_ID_BUNDLE_PASSWORD }}
- uses: actions/upload-artifact@v3
with:
name: ${{ matrix.os }}
path: _packages/**/*
retention-days: 7
windows:
runs-on: windows-2019
@ -163,3 +132,38 @@ jobs:
with:
name: windows
path: _packages/${{ matrix.profile }}/*
retention-days: 7
mac:
strategy:
fail-fast: false
matrix:
profile:
- emqx
- emqx-enterprise
otp:
- 25.3.2-1
os:
- macos-11
- macos-12-arm64
runs-on: ${{ matrix.os }}
env:
EMQX_NAME: ${{ matrix.profile }}
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/package-macos
with:
profile: ${{ matrix.profile }}
otp: ${{ matrix.otp }}
os: ${{ matrix.os }}
apple_id_password: ${{ secrets.APPLE_ID_PASSWORD }}
apple_developer_identity: ${{ secrets.APPLE_DEVELOPER_IDENTITY }}
apple_developer_id_bundle: ${{ secrets.APPLE_DEVELOPER_ID_BUNDLE }}
apple_developer_id_bundle_password: ${{ secrets.APPLE_DEVELOPER_ID_BUNDLE_PASSWORD }}
- uses: actions/upload-artifact@v3
with:
name: ${{ matrix.os }}
path: _packages/**/*
retention-days: 7

View File

@ -31,33 +31,6 @@ env:
IS_CI: "yes"
jobs:
static_checks:
runs-on: ${{ github.repository_owner == 'emqx' && 'aws-amd64' || 'ubuntu-22.04' }}
strategy:
fail-fast: false
matrix:
include: ${{ fromJson(inputs.ct-matrix) }}
container: "ghcr.io/emqx/emqx-builder/${{ matrix.builder }}:${{ matrix.elixir }}-${{ matrix.otp }}-ubuntu22.04"
steps:
- uses: AutoModality/action-clean@v1
- uses: actions/download-artifact@v3
with:
name: ${{ matrix.profile }}
- name: extract artifact
run: |
unzip -o -q ${{ matrix.profile }}.zip
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions/cache@v3
with:
path: "emqx_dialyzer_${{ matrix.otp }}_plt"
key: rebar3-dialyzer-plt-${{ matrix.profile }}-${{ matrix.otp }}-${{ hashFiles('rebar.*', 'apps/*/rebar.*', 'lib-ee/*/rebar.*') }}
restore-keys: |
rebar3-dialyzer-plt-${{ matrix.profile }}-${{ matrix.otp }}-
- name: run static checks
env:
PROFILE: ${{ matrix.profile }}
run: make static_checks
eunit_and_proper:
runs-on: ${{ github.repository_owner == 'emqx' && 'aws-amd64' || 'ubuntu-22.04' }}
strategy:

View File

@ -35,11 +35,8 @@ jobs:
steps:
- uses: actions/download-artifact@v3
with:
name: ${{ matrix.profile }}
- name: extract artifact
run: |
unzip -o -q ${{ matrix.profile }}.zip
git config --global --add safe.directory "$GITHUB_WORKSPACE"
name: "${{ matrix.profile }}_schema_dump"
path: /tmp/
- name: Run spellcheck
run: |
./scripts/spellcheck/spellcheck.sh _build/docgen/${{ matrix.profile }}/schema-en.json
bash /tmp/scripts/spellcheck/spellcheck.sh /tmp/_build/docgen/${{ matrix.profile }}/schema-en.json

53
.github/workflows/static_checks.yaml vendored Normal file
View File

@ -0,0 +1,53 @@
name: Static checks
concurrency:
group: static-checks-${{ github.event_name }}-${{ github.sha }}
cancel-in-progress: true
on:
workflow_call:
inputs:
ct-matrix:
required: true
type: string
# on:
# push:
# branches:
# - master
# - 'ci/**'
# tags:
# - v*
# - e*
# pull_request:
env:
IS_CI: "yes"
jobs:
static_checks:
runs-on: ${{ github.repository_owner == 'emqx' && 'aws-amd64' || 'ubuntu-22.04' }}
strategy:
fail-fast: false
matrix:
include: ${{ fromJson(inputs.ct-matrix) }}
container: "ghcr.io/emqx/emqx-builder/${{ matrix.builder }}:${{ matrix.elixir }}-${{ matrix.otp }}-ubuntu22.04"
steps:
- uses: AutoModality/action-clean@v1
- uses: actions/download-artifact@v3
with:
name: ${{ matrix.profile }}
- name: extract artifact
run: |
unzip -o -q ${{ matrix.profile }}.zip
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions/cache@v3
with:
path: "emqx_dialyzer_${{ matrix.otp }}_plt"
key: rebar3-dialyzer-plt-${{ matrix.profile }}-${{ matrix.otp }}-${{ hashFiles('rebar.*', 'apps/*/rebar.*', 'lib-ee/*/rebar.*') }}
restore-keys: |
rebar3-dialyzer-plt-${{ matrix.profile }}-${{ matrix.otp }}-
- name: run static checks
env:
PROFILE: ${{ matrix.profile }}
run: make static_checks