diff --git a/.github/workflows/build-main.yaml b/.github/workflows/build-main.yaml index f79a999..8362af5 100644 --- a/.github/workflows/build-main.yaml +++ b/.github/workflows/build-main.yaml @@ -18,7 +18,7 @@ jobs: id: checkout - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: 3.12 diff --git a/.github/workflows/build-pr.yaml b/.github/workflows/build-pr.yaml index c147fb3..03aee84 100644 --- a/.github/workflows/build-pr.yaml +++ b/.github/workflows/build-pr.yaml @@ -16,7 +16,7 @@ jobs: id: checkout - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: 3.12 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..084cb6a --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,51 @@ +name: release version + +on: + release: + types: + - published + +jobs: + build: + runs-on: ubuntu-latest + timeout-minutes: 60 + environment: release + permissions: + contents: read + id-token: write + steps: + - uses: actions/checkout@v4 + id: checkout + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: 3.12 + + - name: Install dependencies with poetry + run: | + sudo apt update + sudo apt install libpq-dev + pip install poetry + + - name: Create package + shell: bash + run: | + sed -i "s/0.0.0/${{ github.event.release.tag_name }}/" dblinter/__init__.py + sed -i "s/0.0.0/${{ github.event.release.tag_name }}/" pyproject.toml + poetry build + + - name: Publish package + uses: pypa/gh-action-pypi-publish@release/v1 + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v6 + with: + push: true + tags: decathlon/dblinter:${{ github.event.release.tag_name }}