chore: update workflows #30
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Release fideo | |
on: | |
push: | |
branches: | |
- release | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [macos-latest, windows-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Install PNPM | |
run: npm install -g pnpm | |
- name: Install dependencies | |
run: pnpm install | |
- name: Get version from package.json | |
id: get_version | |
run: echo "VERSION=$(node -p -e "require('./package.json').version")" >> $GITHUB_ENV | |
- name: Build Electron App | |
run: | | |
if [ "${{ runner.os }}" == "Windows" ]; then | |
pnpm build:win | |
elif [ "${{ runner.os }}" == "macOS" ]; then | |
pnpm build:mac | |
fi | |
shell: bash | |
# - name: Upload Artifact | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: fideo-${{ runner.os }} | |
# path: | | |
# dist/*.exe | |
# dist/*.dmg | |
- name: Archive Windows build artifacts | |
if: ${{ runner.os == 'Windows' }} | |
run: | | |
echo "VERSION=$(node -p -e "require('./package.json').version")" >> $env:GITHUB_ENV | |
$version = "${{ env.VERSION }}" | |
Compress-Archive -Path dist/fideo-$version.exe -DestinationPath fideo-win-$version.zip | |
shell: pwsh | |
- name: Archive macOS build artifacts (x64) | |
if: ${{ runner.os == 'macOS' }} | |
run: tar -czf fideo-mac-x64-${{ env.VERSION }}.tar.gz dist/fideo-${{ env.VERSION }}-x64.dmg | |
- name: Archive macOS build artifacts (arm) | |
if: ${{ runner.os == 'macOS' }} | |
run: tar -czf fideo-mac-arm-${{ env.VERSION }}.tar.gz dist/fideo-${{ env.VERSION }}-arm64.dmg | |
- name: Upload Windows build artifact | |
if: ${{ runner.os == 'Windows' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-win-${{ env.VERSION }} | |
path: fideo-win-${{ env.VERSION }}.zip | |
- name: Upload macOS build artifacts (x64) | |
if: ${{ runner.os == 'macOS' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-mac-x64-${{ env.VERSION }} | |
path: fideo-mac-x64-${{ env.VERSION }}.tar.gz | |
- name: Upload macOS build artifacts (arm) | |
if: ${{ runner.os == 'macOS' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-mac-arm-${{ env.VERSION }} | |
path: fideo-mac-arm-${{ env.VERSION }}.tar.gz | |
release: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Get version from package.json | |
id: get_version | |
run: echo "VERSION=$(node -p -e "require('./package.json').version")" >> $GITHUB_ENV | |
- name: Download Windows build artifact | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-win-${{ env.VERSION }} | |
path: . | |
- name: Download macOS build artifacts (x64) | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-mac-x64-${{ env.VERSION }} | |
path: . | |
- name: Download macOS build artifacts (arm) | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-mac-arm-${{ env.VERSION }} | |
path: . | |
# - name: Create Release | |
# id: create_release | |
# uses: elgohr/Github-Release-Action@v5 | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} | |
# with: | |
# tag_name: v${{ env.VERSION }} | |
# release_name: Release v${{ env.VERSION }} | |
# draft: false | |
# prerelease: false | |
# - name: Upload Windows Release Asset | |
# uses: actions/upload-release-asset@v1 | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# with: | |
# upload_url: ${{ steps.create_release.outputs.upload_url }} | |
# asset_path: fideo-${{ env.VERSION }}.exe | |
# asset_name: fideo-${{ env.VERSION }}.exe | |
- name: Upload macOS Release Asset (x64) | |
uses: softprops/action-gh-release@v2 | |
env: | |
GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} | |
with: | |
files: | | |
fideo-mac-x64-${{ env.VERSION }}.tar.gz | |
fideo-mac-arm-${{ env.VERSION }}.tar.gz | |
fideo-win-${{ env.VERSION }}.zip | |
tag_name: v${{ env.VERSION }} | |
# upload_url: ${{ steps.create_release.outputs.upload_url }} | |
# asset_path: dist/fideo-${{ env.VERSION }}-x64.dmg | |
# asset_name: fideo-${{ env.VERSION }}-x64.dmg | |
# - name: Upload macOS Release Asset (arm) | |
# uses: actions/upload-release-asset@v1 | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# with: | |
# upload_url: ${{ steps.create_release.outputs.upload_url }} | |
# asset_path: dist/fideo-${{ env.VERSION }}-arm64.dmg | |
# asset_name: dist/fideo-${{ env.VERSION }}-arm64.dmg |