Update develop.yml #103
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]' | |
- name: Get version of the project after bump | |
id: project-version-after | |
uses: euberdeveloper/ga-project-version@main | |
build: | |
name: 🏗️ Build | |
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: Get version of the project | |
id: project-version | |
uses: euberdeveloper/ga-project-version@main | |
- 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 | |
run: npm run electron:package:win | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- 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}`; | |
ren "dist\LinguifAI Setup ${{ steps.get_latest_release.outputs.new_version }}.exe" "LinguifAI Setup ${newV}.exe" | |
console.log(`::set-output name=new_version::${newV}`); | |
- 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 }} |