build-snapshot.yml 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. ---
  2. name: "Build Snapshot"
  3. on:
  4. - push
  5. - workflow_dispatch
  6. jobs:
  7. build-snapshot:
  8. runs-on: ubuntu-latest
  9. steps:
  10. - name: Checkout
  11. uses: actions/checkout@v3
  12. with:
  13. fetch-depth: 0
  14. - name: Set up QEMU
  15. id: qemu
  16. uses: docker/setup-qemu-action@v2
  17. with:
  18. image: tonistiigi/binfmt:latest
  19. platforms: arm64,arm
  20. - name: Setup node
  21. uses: actions/setup-node@v3
  22. with:
  23. cache: 'npm'
  24. cache-dependency-path: webui/package-lock.json
  25. - name: Setup Go
  26. uses: actions/setup-go@v3
  27. with:
  28. go-version: '>=1.18.0'
  29. cache: true
  30. - name: grpc
  31. run: make grpc
  32. - name: goreleaser
  33. uses: goreleaser/goreleaser-action@v4.2.0
  34. with:
  35. distribution: goreleaser
  36. version: latest
  37. args: release --snapshot --clean --parallelism 1 --skip-docker
  38. - name: Archive binaries
  39. uses: actions/upload-artifact@v3.1.0
  40. with:
  41. name: "OliveTin-snapshot-${{ github.sha }}-dist"
  42. path: dist/OliveTin*.*
  43. - name: Archive integration tests
  44. uses: actions/upload-artifact@v3.1.0
  45. with:
  46. name: integration-tests
  47. path: integration-tests