app: activate env script added #21
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: Release new version of Application | |
on: | |
push: | |
branches: [ "master" ] | |
env: | |
ENV_FILE_PATH: ./Syncogram/sourcefiles/telegram/environments.py | |
JSON_CONFIG_PATH: Syncogram/config.json | |
jobs: | |
build_windows: | |
name: Build Windows App | |
runs-on: windows-latest | |
steps: | |
- name: Clone GitHub Repository | |
uses: actions/checkout@v3 | |
- name: Creates Telegram Environments Data | |
run: | | |
echo "API_ID=${{ secrets.API_ID }}" > ${{ env.ENV_FILE_PATH }}; | |
echo "API_HASH='${{ secrets.API_HASH }}'" >> ${{ env.ENV_FILE_PATH }}; | |
- name: JSON to variables | |
uses: rgarcia-phi/[email protected] | |
with: | |
filename: ${{ env.JSON_CONFIG_PATH }} | |
- name: Set up Python 3.12 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Getting poetry packet manager | |
uses: abatilo/[email protected] | |
- name: Install Dependencies | |
run: | | |
poetry env use python3.12 | |
poetry shell | |
poetry install && poetry update | |
- name: Start Build Application | |
run: | | |
cd Syncogram | |
flet pack application.py ` | |
--name "Syncogram" ` | |
--icon "assets/logo/icns/duck512x512.icns" ` | |
--product-name "Syncogram Application" ` | |
--product-version "${{ env.json_APP_VERSION }}" ` | |
--company-name "Syncogram Application" ` | |
--copyright "GPL-3.0" ` | |
--file-version "${{ env.json_APP_VERSION }}" ` | |
--add-binary "locales;locales" ` | |
--add-data "assets;assets" ` | |
--add-data "config.json;." ` | |
--distpath ../craft | |
cd ../ | |
- name: Archive Windows Application | |
run: | | |
7z a Syncogram_Windows.zip $PWD\craft\Syncogram.exe | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: "Windows" | |
path: Syncogram_Windows.zip | |
build_linux: | |
name: Build Linux App | |
runs-on: ubuntu-latest | |
steps: | |
- name: Clone GitHub Repository | |
uses: actions/checkout@v3 | |
- name: Creates Telegram Environments Data | |
run: | | |
echo -ne "API_ID=${{ secrets.API_ID }}\n" > ${{ env.ENV_FILE_PATH }}; | |
echo -ne "API_HASH='${{ secrets.API_HASH }}'\n" >> ${{ env.ENV_FILE_PATH }}; | |
- name: JSON to variables | |
uses: rgarcia-phi/[email protected] | |
with: | |
filename: ${{ env.JSON_CONFIG_PATH }} | |
- name: Set up Python 3.12 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Getting poetry packet manager | |
uses: abatilo/[email protected] | |
- name: Install Dependencies | |
run: | | |
poetry env use python3.12 | |
poetry shell | |
poetry install && poetry update | |
- name: Start Build Application | |
run: | | |
cd Syncogram; | |
flet pack application.py \ | |
--name "Syncogram" \ | |
--icon "assets/logo/icns/duck512x512.icns" \ | |
--product-name "Syncogram Application" \ | |
--product-version "${{ env.json_APP_VERSION }}" \ | |
--company-name "Syncogram Application" \ | |
--copyright "GPL-3.0" \ | |
--file-version "${{ env.json_APP_VERSION }}" \ | |
--add-binary locales:locales \ | |
--add-data assets:assets \ | |
--add-data config.json:. \ | |
--distpath ../craft; | |
cd ../; | |
- name: Archive Linux Application | |
run: | | |
tar -czvf Syncogram_Linux.tar.gz -C craft Syncogram | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: "Linux" | |
path: Syncogram_Linux.tar.gz | |
build_macos: | |
name: Build MacOS App | |
runs-on: macos-latest | |
steps: | |
- name: Clone GitHub Repository | |
uses: actions/checkout@v3 | |
- name: Creates Telegram Environments Data | |
run: | | |
echo -ne "API_ID=${{ secrets.API_ID }}\n" > ${{ env.ENV_FILE_PATH }}; | |
echo -ne "API_HASH='${{ secrets.API_HASH }}'\n" >> ${{ env.ENV_FILE_PATH }}; | |
- name: JSON to variables | |
uses: rgarcia-phi/[email protected] | |
with: | |
filename: ${{ env.JSON_CONFIG_PATH }} | |
- name: Set up Python 3.12 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Getting poetry packet manager | |
uses: abatilo/[email protected] | |
- name: Install Dependencies | |
run: | | |
poetry env use python3.12 | |
poetry shell | |
poetry install && poetry update | |
- name: Start Build Application | |
run: | | |
cd Syncogram; | |
flet pack application.py \ | |
--name "Syncogram" \ | |
--icon "assets/logo/icns/duck512x512.icns" \ | |
--product-name "Syncogram Application" \ | |
--product-version "${{ env.json_APP_VERSION }}" \ | |
--company-name "Syncogram Application" \ | |
--copyright "GPL-3.0" \ | |
--file-version "${{ env.json_APP_VERSION }}" \ | |
--add-binary locales:locales \ | |
--add-data assets:assets \ | |
--add-data config.json:. \ | |
--distpath ../craft; | |
cd ../; | |
- name: Archive MacOS Application | |
run: | | |
tar -czvf Syncogram_MacOS.tar.gz -C craft Syncogram.app | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: "MacOS" | |
path: Syncogram_MacOS.tar.gz | |
release_project: | |
name: Release Application | |
runs-on: ubuntu-latest | |
needs: [build_linux, build_macos, build_windows] | |
steps: | |
- name: Clone GitHub Repo | |
uses: actions/checkout@v3 | |
- name: JSON to variables | |
uses: rgarcia-phi/[email protected] | |
with: | |
filename: ${{ env.JSON_CONFIG_PATH }} | |
- name: Creates Artifacts dir | |
run: mkdir artifacts | |
- name: Downloads Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
path: artifacts | |
- name: Display structure of downloaded files | |
run: ls -R && pwd | |
working-directory: artifacts | |
- name: Create GitHub release | |
id: create-new-release | |
uses: ncipollo/release-action@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag: "${{ env.json_APP_VERSION }}" | |
name: "v${{ env.json_APP_VERSION }}" | |
body: "Release Syncogram, ${{ env.json_APP_VERSION }}" | |
artifacts: "artifacts/MacOS/Syncogram_MacOS.tar.gz, artifacts/Linux/Syncogram_Linux.tar.gz, artifacts/Windows/Syncogram_Windows.zip" |