name: Check integrity of rebar and mix dependencies on: workflow_call: inputs: builder: required: true type: string permissions: contents: read jobs: check_deps_integrity: runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }} container: ${{ inputs.builder }} env: MIX_ENV: ${{ matrix.profile }} PROFILE: ${{ matrix.profile }} strategy: matrix: profile: - emqx-enterprise steps: - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - run: make ensure-rebar3 - run: ./scripts/check-deps-integrity.escript - name: Setup mix run: | # mix local.hex --force mix local.hex 2.0.6 --force mix local.rebar --force mix deps.get - name: print mix dependency tree run: mix deps.tree - run: ./scripts/check-elixir-deps-discrepancies.exs - run: ./scripts/check-elixir-applications.exs - name: Upload produced lock files uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 if: failure() with: name: ${{ matrix.profile }}_produced_lock_files path: | mix.lock rebar.lock retention-days: 1