Highly-opinionated (ex-bullshit-free) MTPROTO proxy for Telegram. If you use v1.0 or upgrade broke you proxy, please read the chapter Version 2
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. ---
  2. name: CI
  3. permissions:
  4. actions: read
  5. checks: read
  6. contents: read
  7. deployments: read
  8. issues: read
  9. discussions: read
  10. pull-requests: read
  11. repository-projects: read
  12. security-events: read
  13. statuses: read
  14. on:
  15. push:
  16. tags:
  17. - v*
  18. branches:
  19. - master
  20. - stable
  21. - v1
  22. release:
  23. types:
  24. - published
  25. - released
  26. pull_request:
  27. types:
  28. - opened
  29. - edited
  30. - reopened
  31. - synchronize
  32. - ready_for_review
  33. jobs:
  34. # test:
  35. # name: Test
  36. # runs-on: ubuntu-latest
  37. # timeout-minutes: 10
  38. # steps:
  39. # - name: Checkout
  40. # uses: actions/checkout@v6
  41. # with:
  42. # submodules: recursive
  43. #
  44. # - uses: jdx/mise-action@v3
  45. # name: Install mise
  46. #
  47. # - name: Run tests
  48. # run: mise tasks run covtest
  49. #
  50. # - name: Collect coverage
  51. # uses: codecov/codecov-action@v5
  52. # with:
  53. # files: ./coverage.txt
  54. #
  55. # fuzz:
  56. # name: Fuzzing
  57. # runs-on: ubuntu-latest
  58. # timeout-minutes: 20
  59. # steps:
  60. # - name: Checkout
  61. # uses: actions/checkout@v6
  62. # with:
  63. # submodules: recursive
  64. #
  65. # - uses: jdx/mise-action@v3
  66. # name: Install mise
  67. #
  68. # - name: Run fuzzing
  69. # run: mise tasks run 'test:fuzz:*'
  70. #
  71. #
  72. # lint:
  73. # name: Lint
  74. # runs-on: ubuntu-latest
  75. # timeout-minutes: 5
  76. # steps:
  77. # - name: Checkout
  78. # uses: actions/checkout@v6
  79. # with:
  80. # submodules: recursive
  81. #
  82. # - uses: jdx/mise-action@v3
  83. # name: Install mise
  84. #
  85. # - name: Run linter
  86. # run: mise tasks run lint
  87. docker:
  88. name: Docker
  89. runs-on: ubuntu-latest
  90. timeout-minutes: 20
  91. steps:
  92. - name: Checkout
  93. uses: actions/checkout@v6
  94. with:
  95. submodules: recursive
  96. - name: Get Docker meta
  97. id: meta
  98. uses: docker/metadata-action@v5
  99. with:
  100. images: nineseconds/mtg
  101. tags: |
  102. type=semver,pattern={{version}}
  103. - name: Setup QEMU
  104. uses: docker/setup-qemu-action@v3
  105. - name: Setup BuildX
  106. uses: docker/setup-buildx-action@v3
  107. - name: Setup cache
  108. uses: actions/cache@v5
  109. with:
  110. path: /tmp/buildx-cache
  111. key: ${{ runner.os }}-buildx-${{ github.sha }}
  112. restore-keys: |
  113. ${{ runner.os }}-buildx-
  114. - name: Login to DockerHub
  115. # if: github.event_name != 'pull_request'
  116. uses: docker/login-action@v3
  117. with:
  118. username: ${{ secrets.DOCKERHUB_USERNAME }}
  119. password: ${{ secrets.DOCKERHUB_PASSWORD }}
  120. - name: Build and push
  121. uses: docker/build-push-action@v2
  122. with:
  123. pull: true
  124. context: .
  125. platforms: linux/amd64,linux/arm64,linux/386,linux/arm/v7,linux/arm/v6
  126. push: false
  127. tags: ${{ steps.meta.outputs.tags }}
  128. labels: ${{ steps.meta.outputs.labels }}
  129. cache-from: type=local,src=/tmp/buildx-cache
  130. cache-to: type=local,dest=/tmp/buildx-cache