macos.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. name: macos_build
  2. on:
  3. schedule:
  4. - cron: '0 0 * * *'
  5. push:
  6. pull_request:
  7. branches: [ master ]
  8. jobs:
  9. build:
  10. runs-on: macOS-latest
  11. env:
  12. OS_NAME: "osx"
  13. VSCODE_ARCH: "x64"
  14. steps:
  15. - uses: actions/checkout@v2
  16. - name: Setup Node.js environment
  17. uses: actions/setup-node@v1
  18. with:
  19. node-version: 12.14.1
  20. - name: Clone VSCode repo
  21. run: |
  22. . get_repo.sh
  23. - name: Check existing VSCodium tags/releases
  24. env:
  25. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  26. run: |
  27. . check_tags.sh
  28. - name: Build
  29. env:
  30. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  31. run: ./build.sh
  32. if: env.SHOULD_BUILD == 'yes'
  33. - name: Sign binary
  34. env:
  35. CERTIFICATE_OSX_P12: ${{ secrets.CERTIFICATE_OSX_P12 }}
  36. CERTIFICATE_OSX_PASSWORD: ${{ secrets.CERTIFICATE_OSX_PASSWORD }}
  37. CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_ID }}
  38. if: env.SHOULD_BUILD == 'yes'
  39. run: |
  40. if [ -d "VSCode-darwin-${VSCODE_ARCH}" ]; then # just in case the build failed
  41. cd "VSCode-darwin-${VSCODE_ARCH}"
  42. export CERTIFICATE_P12=VSCodium.p12
  43. echo $CERTIFICATE_OSX_P12 | base64 --decode > $CERTIFICATE_P12
  44. export KEYCHAIN=build.keychain
  45. security create-keychain -p mysecretpassword $KEYCHAIN
  46. security default-keychain -s $KEYCHAIN
  47. security unlock-keychain -p mysecretpassword $KEYCHAIN
  48. security import $CERTIFICATE_P12 -k $KEYCHAIN -P $CERTIFICATE_OSX_PASSWORD -T /usr/bin/codesign
  49. security set-key-partition-list -S apple-tool:,apple: -s -k mysecretpassword $KEYCHAIN
  50. codesign --deep --force --verbose --sign "$CERTIFICATE_OSX_ID" VSCodium.app
  51. fi
  52. - name: Zip release
  53. run: |
  54. cd "VSCode-darwin-${VSCODE_ARCH}"
  55. zip -r -X -y ../VSCodium-darwin-${VSCODE_ARCH}-${LATEST_MS_TAG}.zip ./*.app
  56. if: env.SHOULD_BUILD == 'yes'
  57. - name: DMG the release
  58. run: |
  59. pushd "VSCode-darwin-${VSCODE_ARCH}"
  60. npx create-dmg VSCodium.app ..
  61. mv "../VSCodium ${LATEST_MS_TAG}.dmg" "../VSCodium.${VSCODE_ARCH}.${LATEST_MS_TAG}.dmg"
  62. popd
  63. if: env.SHOULD_BUILD == 'yes'
  64. - name: Generate shasums
  65. run: ./sum.sh
  66. if: env.SHOULD_BUILD == 'yes'
  67. - name: Release
  68. uses: softprops/action-gh-release@v1
  69. if: env.SHOULD_BUILD == 'yes'
  70. with:
  71. tag_name: ${{ env.LATEST_MS_TAG }}
  72. files: |
  73. ./*.zip
  74. ./*.dmg
  75. ./*.sha256
  76. env:
  77. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  78. - name: Update versions repo
  79. if: env.SHOULD_BUILD == 'yes'
  80. run: ./update_version.sh
  81. env:
  82. GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
  83. GITHUB_USERNAME: ${{ github.repository_owner }}