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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - 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@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v4.3.5 if: failure() with: name: ${{ matrix.profile }}_produced_lock_files path: | mix.lock rebar.lock retention-days: 1