release.yml 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. name: Release
  2. on:
  3. push:
  4. branches: [main, dev]
  5. pull_request:
  6. workflow_dispatch:
  7. env:
  8. CARGO_TERM_COLOR: always
  9. jobs:
  10. build:
  11. runs-on: ubuntu-latest
  12. steps:
  13. - name: Checkout
  14. uses: actions/checkout@v3
  15. - name: Setup Node.js
  16. uses: actions/setup-node@v3
  17. with:
  18. node-version: "latest"
  19. - name: Setup Rust toolchain
  20. id: rust-toolchain
  21. uses: actions-rs/toolchain@v1
  22. with:
  23. profile: minimal
  24. toolchain: stable
  25. override: true
  26. components: clippy
  27. - name: Set up cache
  28. uses: Swatinem/rust-cache@v2
  29. with:
  30. cache-on-failure: "true"
  31. - name: cargo clippy
  32. uses: actions-rs/cargo@v1
  33. with:
  34. command: clippy
  35. args: --no-deps -- -D warnings
  36. - name: cargo build
  37. uses: actions-rs/cargo@v1
  38. with:
  39. command: build
  40. args: --release --target=x86_64-unknown-linux-musl
  41. use-cross: true
  42. - name: Upload artifact
  43. uses: actions/upload-artifact@v3
  44. with:
  45. name: revanced-discord-bot
  46. path: target/x86_64-unknown-linux-musl/release/revanced-discord-bot
  47. - name: Setup semantic-release
  48. if: github.event_name != 'pull_request'
  49. run: npm install -g semantic-release @semantic-release/git @semantic-release/changelog -D
  50. - name: Release
  51. if: github.event_name != 'pull_request'
  52. env:
  53. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  54. run: npx semantic-release