diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..c55a7bd --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,96 @@ +# Copyright (c) 2024 Contributors to the Eclipse Foundation +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +name: Publish Python 🐍 distribution 📦 to PyPI + +on: + push: + branches: + - add-release-publish-workflow + +jobs: + build: + name: Build distribution 📦 + runs-on: ubuntu-22.04 + + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.10" + - name: Install pypa/build + run: pip install build --user + - name: Build a binary wheel and a source tarball + run: python3 -m build + - name: Store the distribution packages + uses: actions/upload-artifact@v4 + with: + name: python-package-distributions + path: dist/ + + # publish-to-pypi: + # name: Publish Python 🐍 distribution 📦 to PyPI + # needs: + # - build + # runs-on: ubuntu-22.04 + # environment: + # name: pypi + # url: https://pypi.org/p/velocitas-lib + # id-token: write + + # steps: + # - name: Download dists folder + # uses: actions/download-artifact@v4 + # with: + # name: python-package-distributions + # path: dist/ + # - name: Publish distribution 📦 to PyPI + # uses: pypa/gh-action-pypi-publish@release/v1 + + github-release: + name: >- + Sign the Python 🐍 distribution 📦 with Sigstore + and upload them to GitHub Release + # needs: + # - publish-to-pypi + runs-on: ubuntu-22.04 + + permissions: + contents: write + id-token: write + + steps: + - name: Download dists folder + uses: actions/download-artifact@v4 + with: + name: python-package-distributions + path: dist/ + - name: Sign the dists with Sigstore + uses: sigstore/gh-action-sigstore-python@v2.1.1 + with: + inputs: >- + ./dist/*.tar.gz + ./dist/*.whl + - name: Create release + id: create_release + uses: softprops/action-gh-release@v2 + draft: true + tag_name: v0.0.5-test + fail_on_unmatched_files: true + with: + files: | + dist/** + LICENSE + NOTICE.md diff --git a/NOTICE-3RD-PARTY-CONTENT.md b/NOTICE-3RD-PARTY-CONTENT.md index 7e51d79..ea73604 100644 --- a/NOTICE-3RD-PARTY-CONTENT.md +++ b/NOTICE-3RD-PARTY-CONTENT.md @@ -9,9 +9,13 @@ | Dependency | Version | License | |:-----------|:-------:|--------:| |actions/checkout|v4|MIT License| +|actions/download-artifact|v4|MIT License| |actions/setup-java|v4|MIT License| |actions/setup-python|v5|MIT License| |actions/upload-artifact|v4|MIT License| |irongut/CodeCoverageSummary|v1.3.0|MIT License| |mikepenz/action-junit-report|v4|Apache License 2.0| |pre-commit/action|v3.0.0|MIT License| +|pypa/gh-action-pypi-publish|release/v1|BSD 3-Clause "New" or "Revised" License| +|sigstore/gh-action-sigstore-python|v2.1.1|Apache License 2.0| +|softprops/action-gh-release|v2|MIT License|