Skip to content

Use changelog for GH release descriptions (#376) #84

Use changelog for GH release descriptions (#376)

Use changelog for GH release descriptions (#376) #84

Workflow file for this run

name: Release
on:
push:
tags:
- "*.*.*"
jobs:
release:
name: Build
runs-on: ubuntu-latest
steps:
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Check out the repo
uses: actions/checkout@v4
- name: Install poetry
run: pipx install poetry
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.12"
- name: Install binary dependencies
run: OSTYPE=$OSTYPE make install-deps
- name: Install project
run: make install
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
install: true
platforms: linux/amd64,linux/arm64
- name: Log in to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_LOGIN }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up metadata (pytezos)
id: meta-pytezos
uses: docker/metadata-action@v3
with:
images: bakingbad/pytezos
tags: type=pep440,pattern={{version}}
- name: Set up metadata (michelson-kernel)
id: meta-michelson-kernel
uses: docker/metadata-action@v3
with:
images: bakingbad/michelson-kernel
tags: type=pep440,pattern={{version}}
- name: Publish stable image (pytezos)
uses: docker/build-push-action@v3
with:
context: .
file: pytezos.dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.meta-pytezos.outputs.tags }}
labels: ${{ steps.meta-pytezos.outputs.labels }}
- name: Publish stable image (michelson-kernel)
uses: docker/build-push-action@v3
with:
context: .
file: michelson-kernel.dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.meta-michelson-kernel.outputs.tags }}
labels: ${{ steps.meta-michelson-kernel.outputs.labels }}
- name: Poetry publish
run: |
poetry config http-basic.pypi __token__ ${{secrets.PYPI_TOKEN}}
poetry build
poetry publish
# FIXME: Fails on prereleases; https://github.com/mindsers/changelog-reader-action/pull/39
- name: Parse changelog
id: changelog
uses: mindsers/changelog-reader-action@v2
with:
version: ${{ github.ref_name }}
- name: Publish GitHub release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref_name }}
release_name: ${{ steps.changelog.outputs.version }}
body: |
## ${{ steps.changelog.outputs.version }} - ${{ steps.changelog.outputs.date }}
${{ steps.changelog.outputs.changes }}
draft: false
prerelease: ${{ steps.changelog.outputs.status == 'prereleased' }}