Skip to content

Commit

Permalink
feat(CICD): Add pip build and push to the build steps
Browse files Browse the repository at this point in the history
  • Loading branch information
panpuchkov committed Dec 27, 2023
1 parent d6c6f8a commit 2ea6d83
Showing 1 changed file with 33 additions and 8 deletions.
41 changes: 33 additions & 8 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Docker Build & Push
name: Build & Push
permissions: write-all

on:
Expand Down Expand Up @@ -41,12 +41,15 @@ jobs:
pip install -U tox
pip install tox
tox
build:
runs-on: ubuntu-latest
needs: unittests
if: github.ref == 'refs/heads/main'
# if: github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Docker Build
shell: bash
Expand All @@ -61,13 +64,35 @@ jobs:
username: ${{ env.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Docker Push
- name: Detect package version
shell: bash
run: |
set -x
DOCKER_TAG="$(git tag --contains)"
if [[ "${DOCKER_TAG}" == "" ]]; then
DOCKER_TAG="latest"
PACKAGE_VERSION="$(git tag --contains)"
if [[ "${PACKAGE_VERSION}" == "" ]]; then
PACKAGE_VERSION="$(docker run --rm -v $(pwd):/app -w /app --user "$(id -u):$(id -g)" panpuchkov/pygitver --next-ver)-dev"
DOCKER_TAG_LATEST="PACKAGE_VERSION"
else
DOCKER_TAG_LATEST="latest"
fi
IMAGE_NAME_WITH_VERSION="${{ env.DOCKER_USERNAME }}/${{ env.IMAGE_NAME }}:${DOCKER_TAG}"
docker push "${IMAGE_NAME_WITH_VERSION}"
echo "PACKAGE_VERSION=$PACKAGE_VERSION" >> $GITHUB_ENV
echo "DOCKER_TAG_LATEST=$DOCKER_TAG_LATEST" >> $GITHUB_ENV
- name: Docker Push
shell: bash
run: |
set -x
IMAGE_NAME_WITH_TAG_VERSION="${{ env.DOCKER_USERNAME }}/${{ env.IMAGE_NAME }}:${PACKAGE_VERSION}"
IMAGE_NAME_WITH_TAG_LATEST="${{ env.DOCKER_USERNAME }}/${{ env.IMAGE_NAME }}:${DOCKER_TAG_LATEST}"
echo "IMAGE_NAME_WITH_TAG_VERSION: ${IMAGE_NAME_WITH_TAG_VERSION}"
echo "IMAGE_NAME_WITH_TAG_LATEST: ${IMAGE_NAME_WITH_TAG_LATEST}"
# docker push "${IMAGE_NAME_WITH_TAG_VERSION}"
# docker push "${IMAGE_NAME_WITH_TAG_LATEST}"
- name: Pip Build & Push
shell: bash
run: |
set -x
pip install -r requirements-build.txt
python -m build

0 comments on commit 2ea6d83

Please sign in to comment.