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: Build and package macOS app 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 }}