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@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - 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@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 if: failure() with: name: ${{ matrix.profile }}_produced_lock_files path: | mix.lock rebar.lock retention-days: 1