mirror of
https://github.com/meshtastic/python.git
synced 2025-12-24 16:37:51 -05:00
183 lines
5.9 KiB
YAML
183 lines
5.9 KiB
YAML
name: Make Release
|
|
on: workflow_dispatch
|
|
|
|
jobs:
|
|
release_create:
|
|
runs-on: ubuntu-latest
|
|
|
|
outputs:
|
|
version: ${{ steps.get_version.outputs.version }}
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
new_sha: ${{ steps.commit_updated.outputs.sha }}
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python 3.9
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.9"
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip3 install poetry
|
|
|
|
- name: Bump version
|
|
run: >-
|
|
poetry version patch
|
|
|
|
- name: Commit updated version.
|
|
id: commit_updated
|
|
run: |
|
|
git config --global user.name 'github-actions'
|
|
git config --global user.email 'bot@noreply.github.com'
|
|
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}
|
|
git add pyproject.toml
|
|
git commit -m "bump version" && git push || echo "No changes to commit"
|
|
git log -n 1 --pretty=format:"%H" | tail -n 1 | awk '{print "::set-output name=sha::"$0}'
|
|
|
|
- name: Get version
|
|
id: get_version
|
|
run: >-
|
|
poetry version --short | sed 's/^/::set-output name=version::/'
|
|
|
|
- name: Create GitHub release
|
|
uses: actions/create-release@v1
|
|
id: create_release
|
|
|
|
with:
|
|
draft: true
|
|
prerelease: true
|
|
release_name: Meshtastic Python ${{ steps.get_version.outputs.version }}
|
|
tag_name: ${{ steps.get_version.outputs.version }}
|
|
body: |
|
|
Autogenerated by github action, developer should edit as required before publishing...
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Build a binary wheel and a source tarball
|
|
run: >-
|
|
poetry build
|
|
|
|
- name: Publish to PyPI
|
|
uses: pypa/gh-action-pypi-publish@master
|
|
with:
|
|
user: __token__
|
|
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
|
|
# build-and-publish-mac:
|
|
# runs-on: macos-latest
|
|
# needs: release_create
|
|
# steps:
|
|
# - name: Checkout
|
|
# uses: actions/checkout@v4
|
|
# with:
|
|
# ref: ${{ needs.release_create.outputs.new_sha }}
|
|
|
|
# - name: Set up Python 3.9
|
|
# uses: actions/setup-python@v5
|
|
# with:
|
|
# python-version: "3.9"
|
|
|
|
# - name: Setup code signing
|
|
# env:
|
|
# MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
|
|
# MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }}
|
|
# MACOS_KEYCHAIN_PASSWORD: ${{ secrets.MACOS_KEYCHAIN_PASSWORD }}
|
|
# run: |
|
|
# echo $MACOS_CERTIFICATE | base64 --decode > certificate.p12
|
|
# security create-keychain -p "$MACOS_KEYCHAIN_PASSWORD" meshtastic.keychain
|
|
# security default-keychain -s meshtastic.keychain
|
|
# security unlock-keychain -p "$MACOS_KEYCHAIN_PASSWORD" meshtastic.keychain
|
|
# security import certificate.p12 -k meshtastic.keychain -P "$MACOS_CERTIFICATE_PWD" -T /usr/bin/codesign
|
|
# security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$MACOS_KEYCHAIN_PASSWORD" meshtastic.keychain
|
|
|
|
# - name: Build
|
|
# env:
|
|
# MACOS_SIGNING_IDENTITY: ${{ secrets.MACOS_SIGNING_IDENTITY }}
|
|
# run: |
|
|
# pip install pyinstaller
|
|
# pip install -r requirements.txt
|
|
# pip install .
|
|
# pyinstaller -F -n meshtastic --collect-all meshtastic --codesign-identity "$MACOS_SIGNING_IDENTITY" meshtastic/__main__.py
|
|
|
|
# - name: Add mac to release
|
|
# uses: actions/upload-release-asset@v1
|
|
# env:
|
|
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
# with:
|
|
# upload_url: ${{ needs.release_create.outputs.upload_url }}
|
|
# asset_path: dist/meshtastic
|
|
# asset_name: meshtastic_mac
|
|
# asset_content_type: application/zip
|
|
|
|
build-and-publish-ubuntu:
|
|
runs-on: ubuntu-latest
|
|
needs: release_create
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ needs.release_create.outputs.new_sha }}
|
|
|
|
- name: Set up Python 3.9
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.9"
|
|
|
|
- name: Build
|
|
run: |
|
|
pip install poetry
|
|
bin/build-bin.sh
|
|
|
|
- name: Add ubuntu to release
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ needs.release_create.outputs.upload_url }}
|
|
asset_path: dist/meshtastic
|
|
asset_name: meshtastic_ubuntu
|
|
asset_content_type: application/zip
|
|
|
|
- name: Add readme.txt to release
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ needs.release_create.outputs.upload_url }}
|
|
asset_path: standalone_readme.txt
|
|
asset_name: readme.txt
|
|
asset_content_type: text/plain
|
|
|
|
# build-and-publish-windows:
|
|
# runs-on: windows-latest
|
|
# needs: release_create
|
|
# steps:
|
|
# - name: Checkout
|
|
# uses: actions/checkout@v4
|
|
# with:
|
|
# ref: ${{ needs.release_create.outputs.new_sha }}
|
|
|
|
# - name: Set up Python 3.9
|
|
# uses: actions/setup-python@v5
|
|
# with:
|
|
# python-version: "3.9"
|
|
|
|
# - name: Build
|
|
# run: |
|
|
# pip install poetry
|
|
# bin/build-bin.sh
|
|
|
|
# - name: Add windows to release
|
|
# uses: actions/upload-release-asset@v1
|
|
# env:
|
|
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
# with:
|
|
# upload_url: ${{ needs.release_create.outputs.upload_url }}
|
|
# asset_path: dist/meshtastic.exe
|
|
# asset_name: meshtastic_windows
|
|
# asset_content_type: application/zip
|