Skip to content

feat: GitHub Actions workflow for testing, releasing, and publishing #6

feat: GitHub Actions workflow for testing, releasing, and publishing

feat: GitHub Actions workflow for testing, releasing, and publishing #6

Workflow file for this run

# This workflow will install Python dependencies and upload build artifacts to GitHub.
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
name: 'Build and upload Python app'
on:
push:
branches: ['main']
pull_request:
branches: ['main']
# Declare default permissions as read only.
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: 'Checkout repository'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
fetch-tags: true
- name: 'Get tag-based commit name'
run: 'TAG=$(git describe --tags) && echo "commitTag=$TAG" >> $GITHUB_ENV'
- name: 'Install Poetry'
run: 'pipx install poetry'
- name: 'Set up Python'
id: setup-python
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
python-version: '>=3.9 <3.13'
cache: 'poetry'
- name: 'Install dependencies'
run: 'poetry install reliabot[pyre2-wheels]'
- name: 'Build distribution packages'
run: 'poetry build'
- name: 'Upload distribution packages'
id: upload-artifact
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
with:
name: 'dist-reliabot-${{ env.commitTag }}-${{ steps.setup-python.outputs.python-version }}'
path: 'dist/'
if-no-files-found: error
overwrite: true
# https://github.com/softprops/action-gh-release