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. steps:
  15. - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
  16. - run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
  17. - run: make ensure-rebar3
  18. - run: ./scripts/check-deps-integrity.escript
  19. - name: Setup mix
  20. env:
  21. MIX_ENV: emqx-enterprise
  22. PROFILE: emqx-enterprise
  23. run: |
  24. mix local.hex --force
  25. mix local.rebar --force
  26. mix deps.get
  27. - run: ./scripts/check-elixir-deps-discrepancies.exs
  28. env:
  29. MIX_ENV: emqx-enterprise
  30. PROFILE: emqx-enterprise
  31. - run: ./scripts/check-elixir-applications.exs
  32. env:
  33. MIX_ENV: emqx-enterprise
  34. PROFILE: emqx-enterprise
  35. - name: Upload produced lock files
  36. uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392 # v4.0.0
  37. if: failure()
  38. with:
  39. name: produced_lock_files
  40. path: |
  41. mix.lock
  42. rebar.lock
  43. retention-days: 1