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