| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- name: Publish
- on:
- push:
- tags: [ 'v**' ]
- jobs:
- publish:
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os: [ macos-latest, ubuntu-latest, windows-latest ]
- steps:
- - name: Check out Git repository
- uses: actions/checkout@v4
- - name: Git credentials
- run: |
- git config --global user.name ${{ secrets.PUBLISH_GITHUB_USER_NAME }}
- git config --global user.email ${{ secrets.PUBLISH_GITHUB_USER_EMAIL }}
- - name: Install Node.js
- uses: actions/setup-node@v4
- with:
- node-version: latest
- - name: Install Python
- uses: actions/setup-python@v5
- with:
- python-version: 3.x
- - name: Install Packages
- run: npm run install
- - name: Publish Electron
- shell: bash
- env:
- GITHUB_TOKEN: ${{ secrets.PUBLISH_GITHUB_TOKEN }}
- APPLE_API_KEY: ~/.private_keys/AuthKey_${{ secrets.APPLE_API_KEY_ID }}.p8
- APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY_ID }}
- APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }}
- CSC_LINK: ${{ secrets.CSC_LINK }}
- CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
- AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
- AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
- AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
- run: |
- npx electron-builder install-app-deps
- case "${{ matrix.os }}" in
- macos*)
- mkdir -p ~/.private_keys
- echo '${{ secrets.APPLE_API_KEY }}' > ~/.private_keys/AuthKey_${{ secrets.APPLE_API_KEY_ID }}.p8
- npm run publish electron mac
- ;;
- ubuntu*)
- sudo apt-get install rpm --yes
- npm run publish electron linux
- ;;
- windows*)
- unset CSC_LINK;
- unset CSC_KEY_PASSWORD;
- npm run publish electron windows
- ;;
- esac
- - if: startsWith(matrix.os, 'ubuntu')
- name: Publish Python
- env:
- TWINE_USERNAME: __token__
- TWINE_PASSWORD: ${{ secrets.pypi_api_token }}
- run: npm run publish python
- - if: startsWith(matrix.os, 'ubuntu')
- name: Publish Web
- env:
- GITHUB_TOKEN: ${{ secrets.PUBLISH_GITHUB_TOKEN }}
- GITHUB_USER: ${{ secrets.PUBLISH_GITHUB_USER }}
- run: git push origin HEAD:release --force
- - if: false # startsWith(matrix.os, 'macos')
- name: Publish cask
- env:
- GITHUB_TOKEN: ${{ secrets.PUBLISH_GITHUB_TOKEN }}
- GITHUB_USER: ${{ secrets.PUBLISH_GITHUB_USER }}
- run: npm run publish cask
- - if: startsWith(matrix.os, 'windows')
- name: Publish winget
- env:
- GITHUB_USER: ${{ secrets.PUBLISH_GITHUB_USER }}
- GITHUB_TOKEN: ${{ secrets.PUBLISH_GITHUB_TOKEN }}
- WINGET_TOKEN: ${{ secrets.WINGET_TOKEN }}
- run: npm run publish winget
|