check_deps_integrity.yaml 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
  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.hex 2.0.6 --force
  30. mix local.rebar --force
  31. mix deps.get
  32. - name: print mix dependency tree
  33. run: mix deps.tree
  34. - run: ./scripts/check-elixir-deps-discrepancies.exs
  35. - run: ./scripts/check-elixir-applications.exs
  36. - name: Upload produced lock files
  37. uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
  38. if: failure()
  39. with:
  40. name: ${{ matrix.profile }}_produced_lock_files
  41. path: |
  42. mix.lock
  43. rebar.lock
  44. retention-days: 1