learn-sql-model/.github/workflows/release.yml
2023-06-15 08:48:14 -05:00

55 lines
1.7 KiB
YAML

name: Release
on:
workflow_dispatch:
push:
branches:
- "*"
jobs:
setup:
runs-on: ubuntu-latest
permissions:
contents: write # release changes require contents write
steps:
- uses: actions/checkout@v3
- name: create versioned release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release create v${{ github.run_number }} --notes "Release ${{ github.run_number }}"
- name: remove last latest release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release delete latest
- name: create latest release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release create latest --notes "latest release"
release:
needs: setup
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
- run: pip install hatch
- run: hatch run build
- name: Step 3 - Use the Upload Artifact GitHub Action
uses: actions/upload-artifact@v2
with:
name: lsm-${{ matrix.os }}
path: dist
- uses: vimtor/action-zip@v1
with:
files: dist/
dest: lsm-${{ matrix.os }}.zip
- name: Upload Release Asset to versioned release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release upload v${{ github.run_number }} lsm-${{ matrix.os }}.zip
- name: Upload Release Asset to latest release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release upload latest lsm-${{ matrix.os }}.zip