v0.24.0 #420
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: Build and Publish Package | |
on: | |
pull_request: | |
branches: | |
- main | |
types: | |
- closed | |
jobs: | |
publish-package: | |
if: ${{ github.event.pull_request.merged == true && startsWith(github.event.pull_request.head.ref, 'release/v') }} | |
runs-on: ubuntu-latest | |
environment: publish | |
env: | |
POETRY_VIRTUALENVS_IN_PROJECT: 1 | |
POETRY_INSTALLER_PARALLEL: 1 | |
POETRY_VIRTUALENVS_CREATE: 1 | |
permissions: | |
contents: write | |
deployments: write | |
id-token: write | |
packages: write | |
steps: | |
- name: Check out project main branch | |
uses: actions/checkout@v4 | |
with: | |
ref: main | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Load cached Poetry installation | |
id: cached-poetry-install | |
uses: actions/cache@v4 | |
with: | |
path: ~/.local | |
key: ${{ runner.os }}-poetry-183 # increment to reset cache | |
- name: Add cached Poetry to PATH | |
if: steps.cached-poetry-install.outputs.cache-hit == 'true' | |
run: echo "$HOME/.local/bin" >> $GITHUB_PATH | |
- name: Install Poetry | |
if: steps.cached-poetry-install.outputs.cache-hit != 'true' | |
uses: snok/install-poetry@v1 | |
with: | |
version: 1.8.3 | |
- name: Get project Version | |
id: project_version | |
run: echo "project_version=$(poetry version --short)" >> $GITHUB_OUTPUT | |
- name: Build package | |
run: poetry build --no-interaction | |
- name: Publish package to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
- name: Create a Github Release | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: v${{ steps.project_version.outputs.project_version }} | |
target_commitish: main | |
token: ${{ secrets.SQLFMT_RELEASE_TOKEN }} | |
body_path: CHANGELOG.md | |
files: | | |
LICENSE | |
dist/*sqlfmt*.whl | |
dist/*sqlfmt*.tar.gz | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
platforms: linux/amd64,linux/arm64,linux/arm | |
push: true | |
tags: | | |
ghcr.io/${{ github.repository }}:latest | |
ghcr.io/${{ github.repository }}:v${{ steps.project_version.outputs.project_version }} |