Test linux place #134
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: CI | |
on: | |
push: | |
branches: ["develop"] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
version-bump: | |
name: 🔢 Version Bump | |
runs-on: ubuntu-latest | |
steps: | |
- name: ⬇️ Checkout repo | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Get version of the project | |
id: project-version | |
uses: euberdeveloper/ga-project-version@main | |
- name: Automated Version Bump | |
uses: phips28/gh-action-bump-version@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
commit-message: 'CI: bumps version to {{version}} [skip ci]' | |
skip-tag: 'true' | |
build-linux: | |
name: 🏗️ Build Linux | |
runs-on: ubuntu-latest | |
needs: version-bump | |
steps: | |
- name: ⬇️ Checkout repo | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install dependencies | |
run: npm install | |
- name: 📦 Electron Builder Linux | |
run: npm run electron:package:linux | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- run: tree | |
build-windows: | |
name: 🏗️ Build Windows | |
runs-on: windows-latest | |
needs: version-bump | |
strategy: | |
fail-fast: false | |
steps: | |
- name: ⬇️ Checkout repo | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: ⎔ Setup Node | |
uses: actions/setup-node@v3 | |
with: | |
cache: "npm" | |
- name: Set up conda | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
activate-environment: default | |
environment-file: api/environment.yml | |
- name: 🟨 Setup Python | |
uses: actions/setup-python@v3 | |
with: | |
python-version: 3.12.3 | |
- name: Install pip dependencies | |
run: pip install -r api/requirements.txt pyinstaller==6.6.0 | |
- name: Build flask exe | |
run: pyinstaller api/app.spec | |
- name: Install dependencies | |
run: npm install | |
- name: 📦 Electron Builder Windows | |
run: npm run electron:package:win | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Get version of the project after bump | |
id: project-version-after | |
uses: euberdeveloper/ga-project-version@main | |
- name: Get latest release number | |
id: get_latest_release | |
uses: actions/github-script@v4 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
script: | | |
const response = await github.repos.listReleases({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
per_page: 10 | |
}); | |
const latestPreRelease = response.data[0]; | |
const preReleaseTag = latestPreRelease.name; | |
const versionParts = preReleaseTag.replace(/^v/, '').split('.'); | |
const newV = `${parseInt(versionParts[0])}.${parseInt(versionParts[1])}.${parseInt(versionParts[2]) + 1}`; | |
console.log(`::set-output name=new_version::${newV}`); | |
- name: Rename file | |
run: ren "dist\LinguifAI Setup ${{ steps.project-version-after.outputs.version }}.exe" "LinguifAI Setup ${{ steps.get_latest_release.outputs.new_version }}.exe" | |
- name: Create Release | |
id: create_release | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: | | |
./dist/LinguifAI\ Setup\ ${{ steps.get_latest_release.outputs.new_version }}.exe | |
tag_name: v${{ steps.get_latest_release.outputs.new_version }} | |
name: v${{ steps.get_latest_release.outputs.new_version }} | |
prerelease: true | |
body: ${{ github.event.head_commit.message }} |