From db4062f1ca7786d1b5641b7674b3a57cd28d0ee4 Mon Sep 17 00:00:00 2001 From: ioangatop Date: Fri, 22 Mar 2024 10:30:22 +0100 Subject: [PATCH] Add realease github workflow (#318) --- .github/workflows/ci.yaml | 73 +++++++++++++++++++--------------- .github/workflows/release.yaml | 46 +++++++++++++++++++++ 2 files changed, 87 insertions(+), 32 deletions(-) create mode 100644 .github/workflows/release.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 050cf767..a7121493 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,30 +1,39 @@ --- name: CI + on: workflow_dispatch: pull_request: + branches: + - main + paths-ignore: + - "docs/**" + - "*.md" push: - branches: main - + branches: + - main + paths-ignore: + - "docs/**" + - "*.md" jobs: quality: runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Setting up PDM - uses: pdm-project/setup-pdm@v4 - with: - python-version: "3.10" - architecture: x64 - - name: Setting up nox - uses: wntrblm/nox@2024.03.02 - with: - python-versions: "3.10" - - name: Performing lint checks - run: nox -s lint - - name: Performing static type checks - run: nox -s check + - name: Checkout + uses: actions/checkout@v4 + - name: Setting up PDM + uses: pdm-project/setup-pdm@v4 + with: + python-version: "3.10" + architecture: x64 + - name: Setting up nox + uses: wntrblm/nox@2024.03.02 + with: + python-versions: "3.10" + - name: Performing lint checks + run: nox -s lint + - name: Performing static type checks + run: nox -s check tests: strategy: @@ -35,18 +44,18 @@ jobs: - "3.10" runs-on: ${{ matrix.os }} steps: - - name: Checkout - uses: actions/checkout@v4 - with: - lfs: true - - name: Setting up PDM - uses: pdm-project/setup-pdm@v4 - with: - python-version: ${{ matrix.python-version }} - architecture: x64 - - name: Setting up nox - uses: wntrblm/nox@2024.03.02 - with: - python-versions: ${{ matrix.python-version }} - - name: Executing unit tests - run: nox -s test + - name: Checkout + uses: actions/checkout@v4 + with: + lfs: true + - name: Setting up PDM + uses: pdm-project/setup-pdm@v4 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 + - name: Setting up nox + uses: wntrblm/nox@2024.03.02 + with: + python-versions: ${{ matrix.python-version }} + - name: Executing unit tests + run: nox -s test diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 00000000..1ba77589 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,46 @@ +--- +name: Release + +on: + push: + tags: + - "*" + +jobs: + release-pypi: + runs-on: ubuntu-latest + permissions: + id-token: write + contents: write + steps: + - uses: actions/checkout@v4 + - name: Setting up PDM + uses: pdm-project/setup-pdm@v4 + with: + python-version: "3.10" + architecture: x64 + - name: Setting up nox + uses: wntrblm/nox@2024.03.02 + with: + python-versions: "3.10" + - name: Build artifacts + run: | + nox -s build + - name: Test Build + run: | + python -m pip install dist/*.whl + eva --version + - name: Build Release Docs + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git fetch origin gh-pages:gh-pages + tag="${{ github.ref_name }}" + DOC_VERSION=${tag%.*} + nox -s docs -- deploy --alias-type=copy --update-aliases "$DOC_VERSION" latest + git push origin gh-pages + - name: Publish package distributions to PyPI + run: nox -s publish -- --no-build + env: + PDM_PUBLISH_USERNAME: ${{ secrets.PYPI_USERNAME }} + PDM_PUBLISH_PASSWORD: ${{ secrets.PYPI_PASSWORD }}