name: Release on: workflow_dispatch: push: branches: - "*" jobs: setup: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 # - 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" - name: create versioned release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: gh release create v${{ github.run_number }} --notes "Release ${{ github.run_number }}" - name: Upload Release Asset env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: gh release upload latest dist/ release: strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} permissions: contents: write # release changes require contents write 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 - name: Upload Release Asset env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: gh release upload ${{ github.run_number }} dist/