From 96f2390278b6160e7d61e06b9dcaeed90bc144b5 Mon Sep 17 00:00:00 2001 From: Tristen Harr Date: Mon, 15 Jul 2024 17:30:33 -0500 Subject: [PATCH] update workflow --- .../ndc-python-lambda-connector.yaml | 50 +++++++++++++------ 1 file changed, 35 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ndc-python-lambda-connector.yaml b/.github/workflows/ndc-python-lambda-connector.yaml index b9261f6..0b35b2f 100644 --- a/.github/workflows/ndc-python-lambda-connector.yaml +++ b/.github/workflows/ndc-python-lambda-connector.yaml @@ -36,25 +36,49 @@ jobs: echo "pytest not found, skipping tests" fi - build-and-push-docker: - name: Build and push Docker image + build-connector: + name: Build connector runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 # This is important for git describe to work correctly - uses: actions/setup-python@v4 with: python-version: '3.9' + - name: Build connector + run: | + cd connector-definition # Change to the directory containing the Makefile + make build + - uses: actions/upload-artifact@v4 + with: + name: connector-definition.tgz + path: ./connector-definition/dist/connector-definition.tgz + compression-level: 0 # Already compressed + + build-and-push-docker: + name: Build and push Docker image + needs: build-connector + runs-on: ubuntu-latest + if: startsWith(github.ref, 'refs/tags/v') + steps: + - uses: actions/checkout@v4 - name: Login to GitHub Container Registry uses: docker/login-action@v3 with: registry: ${{ env.DOCKER_REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Build with Makefile - run: make build - - name: Push Docker image - if: startsWith(github.ref, 'refs/tags/v') + - name: Download connector definition + uses: actions/download-artifact@v4 + with: + name: connector-definition.tgz + path: ./connector-definition/dist + - name: Build and push Docker image run: | + cd connector-definition/dist + tar -xzvf connector-definition.tgz + docker build -t ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_IMAGE_NAME }}:${GITHUB_REF#refs/tags/} -t ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_IMAGE_NAME }}:latest . docker push ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_IMAGE_NAME }}:${GITHUB_REF#refs/tags/} docker push ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_IMAGE_NAME }}:latest @@ -63,20 +87,16 @@ jobs: runs-on: ubuntu-latest needs: - build-and-test + - build-connector - build-and-push-docker if: startsWith(github.ref, 'refs/tags/v') steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 - with: - python-version: '3.9' - - name: Build connector definition - run: make build - - uses: actions/upload-artifact@v4 + - name: Download connector definition + uses: actions/download-artifact@v4 with: name: connector-definition.tgz - path: ./dist/connector-definition.tgz - compression-level: 0 # Already compressed + path: ./connector-definition/dist - name: Get version from tag id: get-version run: | @@ -93,5 +113,5 @@ jobs: tag_name: v${{ steps.get-version.outputs.tagged_version }} body: ${{ steps.changelog-reader.outputs.changes }} files: | - ./dist/connector-definition.tgz + ./connector-definition/dist/connector-definition.tgz fail_on_unmatched_files: true \ No newline at end of file