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@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - 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@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 if: failure() with: name: ${{ matrix.profile }}_produced_lock_files path: | mix.lock rebar.lock retention-days: 1