Skip to content

Merge pull request #638 from terasum/dependabot/npm_and_yarn/frontend… #42

Merge pull request #638 from terasum/dependabot/npm_and_yarn/frontend…

Merge pull request #638 from terasum/dependabot/npm_and_yarn/frontend… #42

name: Build Medict Tasks
on:
push:
# tags:
# - v*
branches:
- master
- develop
jobs:
package:
strategy:
matrix:
go-version: [1.21.x]
platform: [macos-latest, ubuntu-20.04, windows-2019]
runs-on: ${{ matrix.platform }}
steps:
- name: Get version tag (unix)
if: matrix.platform != 'windows-2019'
id: version
run: echo "::set-output name=tag::v-3.0.1-alpha-${GITHUB_SHA:0:6}"
# - name: Get version tag (windows)
# if: matrix.platform == 'windows-2019'
# id: versionw
# run: |
# echo "::set-output name=tag::v3.0.1-alpha-temp"
- name: Inall pnpm
uses: pnpm/action-setup@v2
with:
version: 8.7.4
run_install: false
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go-version }}
- name: Chechout
uses: actions/checkout@v2
- name: Install Wails
run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
# darwin
- name: Build for darwin
if: matrix.platform == 'macos-latest'
run: |
wails build -f -ldflags "-X main.Version=${{ steps.version.outputs.tag }}"
- name: Create darwin disk image
if: matrix.platform == 'macos-latest'
run: |
brew install create-dmg
ls -lh $PWD && ls -lh $PWD/build
create-dmg --volname "Medict" --volicon "build/assets/darwin/dmg_icon.icns" --background "build/assets/darwin/dmg_bg.png" --window-size 512 360 --icon-size 100 --icon "Medict.app" 100 185 --hide-extension "Medict.app" --app-drop-link 388 185 "Medict_${{ steps.version.outputs.tag }}_Darwin_x86_64.dmg" "build/bin"
- name: Upload darwin disk image
if: matrix.platform == 'macos-latest'
uses: actions/upload-artifact@v2
with:
name: Medict_${{ steps.version.outputs.tag }}_Darwin_x86_64.dmg
path: Medict_${{ steps.version.outputs.tag }}_Darwin_x86_64.dmg
# linux
- name: Build for linux
if: matrix.platform == 'ubuntu-20.04'
run: |
sudo apt update && sudo apt install -y libgtk-3-dev libwebkit2gtk-4.0-dev
wails build -f -ldflags "-X main.Version=${{ steps.version.outputs.tag }}"
ls -lh $PWD && ls -lh $PWD/build
tar -C build/bin -zcvf Medict_${{ steps.version.outputs.tag }}_Linux_x86_64.tar.gz Medict
- name: Upload linux tar.gz
if: matrix.platform == 'ubuntu-20.04'
uses: actions/upload-artifact@v2
with:
name: Medict_${{ steps.version.outputs.tag }}_Linux_x86_64.tar.gz
path: Medict_${{ steps.version.outputs.tag }}_Linux_x86_64.tar.gz
# windows
- name: Build for windows
if: matrix.platform == 'windows-2019'
run: |
New-Item -ItemType directory -Path "$HOME\.wails" -Force
Copy-Item -Path "$PWD\wails.json" -Destination "$HOME\.wails\wails.json"
choco install mingw
wails build -f -ldflags "-X medict/internal/app.semver=unknown"
Compress-Archive -Path "$PWD\build\bin\medict.exe" -DestinationPath "$PWD\Medict_Windows_x86_64.zip"
- name: Upload windows zip
if: matrix.platform == 'windows-2019'
uses: actions/upload-artifact@v2
with:
name: Medict_Windows_x86_64.zip
path: Medict_Windows_x86_64.zip
# - name: Create linux app image
# if: matrix.platform == 'ubuntu-16.04'
# run: |
# wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
# chmod +x linuxdeploy-x86_64.AppImage
# mogrify -resize 512x512 appicon.png
# ./linuxdeploy*.AppImage --appdir AppDir --executable build/wombat --desktop-file AppImage.desktop --icon-file appicon.png --output appimage
# mv Wombat*.AppImage Wombat_${{ steps.version.outputs.tag }}_Linux_x86_64.AppImage
# - name: Upload linux app image
# if: matrix.platform == 'ubuntu-16.04'
# uses: actions/upload-artifact@v2
# with:
# name: Wombat_${{ steps.version.outputs.tag }}_Linux_x86_64.AppImage
# path: Wombat_${{ steps.version.outputs.tag }}_Linux_x86_64.AppImage
release:
runs-on: ubuntu-latest
needs: package
steps:
- name: Get version tag (unix)
if: matrix.platform != 'windows-2019'
id: version
run: echo "::set-output name=tag::v-3.0.1-alpha-${GITHUB_SHA:0:6}"
- name: Get changelog url
id: changelog
run: echo "${{ steps.version.outputs.tag }}---$(date +'%Y-%m-%d')" | sed -e 's/\.//g' | awk '{print "::set-output name=url::https://github.com/terasum/medict/blob/develop/CHANGELOG.md#" $1}'
- name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.version.outputs.tag }}
release_name: ${{ steps.version.outputs.tag }}
body: "Medict Nightly build release: <h1>${{ steps.version.outputs.tag }}</h1>"
draft: true
prerelease: false
- name: Download all release packages
uses: actions/download-artifact@v2
- name: Attach darwin disk image
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: Medict_${{ steps.version.outputs.tag }}_Darwin_x86_64.dmg/Medict_${{ steps.version.outputs.tag }}_Darwin_x86_64.dmg
asset_name: Medict_${{ steps.version.outputs.tag }}_Darwin_x86_64.dmg
asset_content_type: application/octet-stream
- name: Attach linux tar.gz
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: Medict_${{ steps.version.outputs.tag }}_Linux_x86_64.tar.gz/Medict_${{ steps.version.outputs.tag }}_Linux_x86_64.tar.gz
asset_name: Medict_${{ steps.version.outputs.tag }}_Linux_x86_64.tar.gz
asset_content_type: application/octet-stream
- name: Attach windows zip
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: Medict_Windows_x86_64.zip/Medict_Windows_x86_64.zip
asset_name: Medict_Windows_x86_64.zip
asset_content_type: application/octet-stream
# - name: Attach linux app image
# uses: actions/upload-release-asset@v1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# upload_url: ${{ steps.create_release.outputs.upload_url }}
# asset_path: Wombat_${{ steps.version.outputs.tag }}_Linux_x86_64.AppImage/Wombat_${{ steps.version.outputs.tag }}_Linux_x86_64.AppImage
# asset_name: Wombat_${{ steps.version.outputs.tag }}_Linux_x86_64.AppImage
# asset_content_type: application/octet-stream