From be2d698144f14d2496991ec5883acc3f0c90c8bd Mon Sep 17 00:00:00 2001 From: kian Date: Wed, 31 Jan 2024 22:44:41 +0100 Subject: [PATCH] Change ci-cd: Combined build and release --- .github/workflows/ci-cd.yml | 51 ++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index b0017e0..fb71d05 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -6,26 +6,9 @@ on: - master jobs: - build: - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: 3.8 - - - name: Build Docker image - run: docker build -t kian79/pdf_searcher:latest . - test: runs-on: ubuntu-latest - needs: build - steps: - name: Checkout code uses: actions/checkout@v2 @@ -41,14 +24,30 @@ jobs: - name: Run tests run: PYTHONPATH=. pytest - release: + push_to_registry: + name: Push Docker image to Docker Hub runs-on: ubuntu-latest - - needs: test - steps: - - name: Deploy to Docker Hub - run: | - echo ${{ secrets.DOCKERHUB_TOKEN }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin - docker tag kian79/pdf_searcher:latest ${{ secrets.DOCKERHUB_USERNAME }}/pdf_searcher:latest - docker push ${{ secrets.DOCKERHUB_USERNAME }}/pdf_searcher:latest + - name: Check out the repo + uses: actions/checkout@v4 + + - name: Log in to Docker Hub + uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: kiankashfipour/pdf_searcher + + - name: Build and push Docker image + uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671 + with: + context: . + file: ./Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}