check_deps_integrity.yaml 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. name: Check integrity of rebar and mix dependencies
  2. on:
  3. workflow_call:
  4. inputs:
  5. builder:
  6. required: true
  7. type: string
  8. permissions:
  9. contents: read
  10. jobs:
  11. check_deps_integrity:
  12. runs-on: ${{ endsWith(github.repository, '/emqx') && 'ubuntu-22.04' || fromJSON('["self-hosted","ephemeral","linux","x64"]') }}
  13. container: ${{ inputs.builder }}
  14. env:
  15. MIX_ENV: ${{ matrix.profile }}
  16. PROFILE: ${{ matrix.profile }}
  17. strategy:
  18. matrix:
  19. profile:
  20. - emqx-enterprise
  21. steps:
  22. - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
  23. - run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
  24. - run: make ensure-rebar3
  25. - run: ./scripts/check-deps-integrity.escript
  26. - name: Setup mix
  27. run: |
  28. mix local.hex --force
  29. mix local.rebar --force
  30. mix deps.get
  31. - name: print mix dependency tree
  32. run: mix deps.tree
  33. - run: ./scripts/check-elixir-deps-discrepancies.exs
  34. - run: ./scripts/check-elixir-applications.exs
  35. - name: Upload produced lock files
  36. uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
  37. if: failure()
  38. with:
  39. name: ${{ matrix.profile }}_produced_lock_files
  40. path: |
  41. mix.lock
  42. rebar.lock
  43. retention-days: 1