diff --git a/.github/workflows/_pr_entrypoint.yaml b/.github/workflows/_pr_entrypoint.yaml index 30bcbff21..c22194586 100644 --- a/.github/workflows/_pr_entrypoint.yaml +++ b/.github/workflows/_pr_entrypoint.yaml @@ -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: diff --git a/.github/workflows/build_docker_for_test.yaml b/.github/workflows/build_docker_for_test.yaml index 088d2432a..fa717825c 100644 --- a/.github/workflows/build_docker_for_test.yaml +++ b/.github/workflows/build_docker_for_test.yaml @@ -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 diff --git a/.github/workflows/build_slim_packages.yaml b/.github/workflows/build_slim_packages.yaml index 9c0ae7685..fe2fb8621 100644 --- a/.github/workflows/build_slim_packages.yaml +++ b/.github/workflows/build_slim_packages.yaml @@ -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 diff --git a/.github/workflows/run_test_cases.yaml b/.github/workflows/run_test_cases.yaml index f304d6932..a78c92915 100644 --- a/.github/workflows/run_test_cases.yaml +++ b/.github/workflows/run_test_cases.yaml @@ -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: diff --git a/.github/workflows/spellcheck.yaml b/.github/workflows/spellcheck.yaml index c7c68e019..220fe7851 100644 --- a/.github/workflows/spellcheck.yaml +++ b/.github/workflows/spellcheck.yaml @@ -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 diff --git a/.github/workflows/static_checks.yaml b/.github/workflows/static_checks.yaml new file mode 100644 index 000000000..4fa537a19 --- /dev/null +++ b/.github/workflows/static_checks.yaml @@ -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