Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

workflow automation #3

Merged
merged 1 commit into from
Jun 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .github/workflows/dev2main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# This workflow will generate a distribution and upload it to PyPI

name: Push dev -> main
on:
workflow_dispatch:

jobs:
build_and_publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # otherwise, there would be errors pushing refs to the destination repository.
ref: dev
- name: Push dev -> main
uses: ad-m/github-push-action@master

with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: main
23 changes: 23 additions & 0 deletions .github/workflows/notify_matrix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Notify Matrix Chat

# only trigger on pull request closed events
on:
pull_request:
types: [ closed ]

jobs:
merge_job:
# this job will only run if the PR has been merged
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Send message to Matrix bots channel
id: matrix-chat-message
uses: fadenb/[email protected]
with:
homeserver: 'matrix.org'
token: ${{ secrets.MATRIX_TOKEN }}
channel: '!WjxEKjjINpyBRPFgxl:krbel.duckdns.org'
message: |
new ovos-PHAL PR merged! https://github.com/OpenVoiceOS/ovos-PHAL-plugin-dotstar/pull/${{ github.event.number }}
73 changes: 73 additions & 0 deletions .github/workflows/publish_alpha.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# This workflow will generate a distribution and upload it to PyPI

name: Publish Alpha Build ...aX
on:
push:
branches:
- dev
paths-ignore:
- 'version.py'
- 'test/**'
- 'examples/**'
- '.github/**'
- '.gitignore'
- 'LICENSE'
- 'Dockerfile'
- 'CHANGELOG.md'
- 'MANIFEST.in'
- 'readme.md'
- 'scripts/**'
workflow_dispatch:

jobs:
build_and_publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
ref: dev
fetch-depth: 0 # otherwise, there would be errors pushing refs to the destination repository.
- name: Setup Python
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install Build Tools
run: |
python -m pip install build wheel
- name: Increment Version
run: |
VER=$(python setup.py --version)
python scripts/bump_alpha.py
- name: "Generate release changelog"
uses: heinrichreimer/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
id: changelog
- name: Commit to dev
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Increment Version
branch: dev
- name: version
run: echo "::set-output name=version::$(python setup.py --version)"
id: version
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
tag_name: V${{ steps.version.outputs.version }}
release_name: Release ${{ steps.version.outputs.version }}
body: |
Changes in this Release
${{ steps.changelog.outputs.changelog }}
draft: false
prerelease: true
- name: Build Distribution Packages
run: |
python setup.py bdist_wheel
- name: Publish to Test PyPI
uses: pypa/gh-action-pypi-publish@master
with:
password: ${{secrets.PYPI_TOKEN}}
76 changes: 76 additions & 0 deletions .github/workflows/publish_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# This workflow will generate a distribution and upload it to PyPI

name: Publish Build Release ..X
on:
workflow_dispatch:

jobs:
build_and_publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
ref: dev
fetch-depth: 0 # otherwise, there would be errors pushing refs to the destination repository.
- name: Setup Python
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install Build Tools
run: |
python -m pip install build wheel
- name: Remove alpha (declare stable)
run: |
VER=$(python setup.py --version)
python scripts/remove_alpha.py
- name: "Generate release changelog"
uses: heinrichreimer/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
id: changelog
- name: Commit to dev
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Declare alpha stable
branch: dev
- name: Push dev -> master
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: master
force: true
- name: version
run: echo "::set-output name=version::$(python setup.py --version)"
id: version
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
tag_name: V${{ steps.version.outputs.version }}
release_name: Release ${{ steps.version.outputs.version }}
body: |
Changes in this Release
${{ steps.changelog.outputs.changelog }}
draft: false
prerelease: false
- name: Build Distribution Packages
run: |
python setup.py bdist_wheel
- name: Prepare next Build version
run: echo "::set-output name=version::$(python setup.py --version)"
id: alpha
- name: Increment Version ${{ steps.alpha.outputs.version }}Alpha0
run: |
VER=$(python setup.py --version)
python scripts/bump_build.py
- name: Commit to dev
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Prepare Next Version
branch: dev
- name: Publish to Test PyPI
uses: pypa/gh-action-pypi-publish@master
with:
password: ${{secrets.PYPI_TOKEN}}
76 changes: 76 additions & 0 deletions .github/workflows/publish_major.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# This workflow will generate a distribution and upload it to PyPI

name: Publish Major Release X.0.0
on:
workflow_dispatch:

jobs:
build_and_publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
ref: dev
fetch-depth: 0 # otherwise, there would be errors pushing refs to the destination repository.
- name: Setup Python
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install Build Tools
run: |
python -m pip install build wheel
- name: Remove alpha (declare stable)
run: |
VER=$(python setup.py --version)
python scripts/remove_alpha.py
- name: "Generate release changelog"
uses: heinrichreimer/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
id: changelog
- name: Commit to dev
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Declare alpha stable
branch: dev
- name: Push dev -> master
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: master
force: true
- name: version
run: echo "::set-output name=version::$(python setup.py --version)"
id: version
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
tag_name: V${{ steps.version.outputs.version }}
release_name: Release ${{ steps.version.outputs.version }}
body: |
Changes in this Release
${{ steps.changelog.outputs.changelog }}
draft: false
prerelease: false
- name: Build Distribution Packages
run: |
python setup.py bdist_wheel
- name: Prepare next Major version
run: echo "::set-output name=version::$(python setup.py --version)"
id: alpha
- name: Increment Version ${{ steps.alpha.outputs.version }}Alpha0
run: |
VER=$(python setup.py --version)
python scripts/bump_major.py
- name: Commit to dev
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Prepare Next Version
branch: dev
- name: Publish to Test PyPI
uses: pypa/gh-action-pypi-publish@master
with:
password: ${{secrets.PYPI_TOKEN}}
76 changes: 76 additions & 0 deletions .github/workflows/publish_minor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# This workflow will generate a distribution and upload it to PyPI

name: Publish Minor Release .X.0
on:
workflow_dispatch:

jobs:
build_and_publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
ref: dev
fetch-depth: 0 # otherwise, there would be errors pushing refs to the destination repository.
- name: Setup Python
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install Build Tools
run: |
python -m pip install build wheel
- name: Remove alpha (declare stable)
run: |
VER=$(python setup.py --version)
python scripts/remove_alpha.py
- name: "Generate release changelog"
uses: heinrichreimer/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
id: changelog
- name: Commit to dev
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Declare alpha stable
branch: dev
- name: Push dev -> master
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: master
force: true
- name: version
run: echo "::set-output name=version::$(python setup.py --version)"
id: version
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
tag_name: V${{ steps.version.outputs.version }}
release_name: Release ${{ steps.version.outputs.version }}
body: |
Changes in this Release
${{ steps.changelog.outputs.changelog }}
draft: false
prerelease: false
- name: Build Distribution Packages
run: |
python setup.py bdist_wheel
- name: Prepare next Minor version
run: echo "::set-output name=version::$(python setup.py --version)"
id: alpha
- name: Increment Version ${{ steps.alpha.outputs.version }}Alpha0
run: |
VER=$(python setup.py --version)
python scripts/bump_minor.py
- name: Commit to dev
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Prepare Next Version
branch: dev
- name: Publish to Test PyPI
uses: pypa/gh-action-pypi-publish@master
with:
password: ${{secrets.PYPI_TOKEN}}
18 changes: 18 additions & 0 deletions scripts/bump_alpha.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import fileinput
from os.path import join, dirname


version_file = join(dirname(dirname(__file__)), "version.py")
version_var_name = "VERSION_ALPHA"

with open(version_file, "r", encoding="utf-8") as v:
for line in v.readlines():
if line.startswith(version_var_name):
version = int(line.split("=")[-1])
new_version = int(version) + 1

for line in fileinput.input(version_file, inplace=True):
if line.startswith(version_var_name):
print(f"{version_var_name} = {new_version}")
else:
print(line.rstrip('\n'))
21 changes: 21 additions & 0 deletions scripts/bump_build.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import fileinput
from os.path import join, dirname


version_file = join(dirname(dirname(__file__)), "version.py")
version_var_name = "VERSION_BUILD"
alpha_var_name = "VERSION_ALPHA"

with open(version_file, "r", encoding="utf-8") as v:
for line in v.readlines():
if line.startswith(version_var_name):
version = int(line.split("=")[-1])
new_version = int(version) + 1

for line in fileinput.input(version_file, inplace=True):
if line.startswith(version_var_name):
print(f"{version_var_name} = {new_version}")
elif line.startswith(alpha_var_name):
print(f"{alpha_var_name} = 0")
else:
print(line.rstrip('\n'))
Loading
Loading