name: Build and Publish on Tag on: push: tags: - 'v*' jobs: build: runs-on: ubuntu-latest strategy: matrix: node-version: ['lts/*'] steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v2 with: node-version: ${{ matrix.node-version }} - run: npm i -g grunt-cli - run: npm install - run: grunt publish-windows: runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: Set up Node.js uses: actions/setup-node@v2 with: node-version: 'lts/*' - name: Install dependencies run: npm install - name: Fix dependencies before run: node ./scripts/fix-packages-publish.js before - name: Publish Windows application run: npm run publish-windows env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Fix dependencies after run: node ./scripts/fix-packages-publish.js after - name: Upload Windows build to GitHub Release uses: softprops/action-gh-release@v1 with: tag_name: ${{ github.ref_name }} files: | dist/*.exe dist/*.msi dist/*.blockmap dist/latest.yml env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} package-and-release-macos: runs-on: macos-latest steps: - uses: actions/checkout@v2 - name: Set up Node.js uses: actions/setup-node@v2 with: node-version: 'lts/*' - name: Install dependencies run: npm install - name: Fix dependencies before run: node ./scripts/fix-packages-publish.js before - name: Decode and Install Certificates env: CERTIFICATE_P12_BASE64: ${{ secrets.CERTIFICATE_P12_BASE64 }} CERTIFICATE_P12_PASSWORD: ${{ secrets.CERTIFICATE_P12_PASSWORD }} run: | echo $CERTIFICATE_P12_BASE64 | base64 --decode > certificate.p12 security create-keychain -p actions temp.keychain security import certificate.p12 -k ~/Library/Keychains/temp.keychain -P "$CERTIFICATE_P12_PASSWORD" -T /usr/bin/codesign security list-keychains -s temp.keychain security default-keychain -s temp.keychain security unlock-keychain -p actions temp.keychain security set-key-partition-list -S apple-tool:,apple: -s -k actions temp.keychain - name: Build and package macOS app env: APPLE_ID: ${{ secrets.APPLE_ID }} APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }} DEBUG: "*" run: npm run publish-macos - name: Fix dependencies after run: node ./scripts/fix-packages-publish.js after - name: Upload macOS build to GitHub Release uses: softprops/action-gh-release@v1 with: tag_name: ${{ github.ref_name }} files: | dist/*.dmg dist/*.zip dist/*.blockmap dist/latest-mac.yml env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}