publish.yml 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. name: publish
  2. on:
  3. workflow_dispatch:
  4. inputs:
  5. change_type:
  6. description: Change type
  7. type: choice
  8. options:
  9. - major
  10. - minor
  11. - patch
  12. default: patch
  13. jobs:
  14. publish:
  15. name: publish
  16. permissions:
  17. contents: write
  18. runs-on: ubuntu-latest
  19. environment: FAIR_MATH_PUBLISHER
  20. steps:
  21. - uses: actions/create-github-app-token@v1
  22. id: app-token
  23. with:
  24. app-id: ${{ vars.FAIR_MATH_PUBLISHER_ID }}
  25. private-key: ${{ secrets.FAIR_MATH_PUBLISHER_PRIVATE_KEY }}
  26. - name: Checkout sources
  27. uses: actions/checkout@v4
  28. with:
  29. token: ${{ steps.app-token.outputs.token }}
  30. - name: Install Rust toolchain
  31. uses: dtolnay/rust-toolchain@stable
  32. with:
  33. toolchain: stable-gnu
  34. - name: Changing version in Cargo.toml
  35. run: |
  36. chmod +x ${GITHUB_WORKSPACE}/.github/change_version.sh
  37. bash ${GITHUB_WORKSPACE}/.github/change_version.sh
  38. env:
  39. CHANGE_TYPE: ${{ inputs.change_type }}
  40. - name: Pushing Cargo.toml changes to master
  41. run: |
  42. git config --local user.name 'github-actions'
  43. git config --local user.email 'github-actions@github.com'
  44. git commit -am "Automated version change in Cargo.toml [skip actions]"
  45. git push origin master
  46. - run: cargo publish --no-verify --token ${CRATES_TOKEN}
  47. env:
  48. CRATES_TOKEN: ${{ secrets.CRATES_TOKEN }}