From 91185b11ca0d614da73691a0be68ba482b10996c Mon Sep 17 00:00:00 2001 From: Daniel Bluhm Date: Mon, 9 May 2022 15:08:49 -0400 Subject: [PATCH 1/2] fix: typo in test workflow Signed-off-by: Daniel Bluhm --- .github/workflows/tests.yml | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 53307f1..cb45951 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -26,7 +26,7 @@ jobs: uses: actions/cache@v2 with: path: ~/.local - key: poetry-${{ runner.os }}-${{ matrix.python-version }}-${{ env.POETRY_VERSION }}-${{ hashFiles('.github/workflows/code-quality-check.yml') }} + key: poetry-${{ runner.os }}-${{ matrix.python-version }}-${{ env.POETRY_VERSION }}-${{ hashFiles('.github/workflows/tests.yml') }} - name: Install poetry if: steps.cache-poetry.outputs.cache-hit != 'true' run: | @@ -41,7 +41,7 @@ jobs: uses: actions/cache@v2 with: path: ${{ steps.setup-poetry-env.outputs.poetry-env }} - key: poetry-env-${{ runner.os }}-${{ matrix.python-version }}-${{ env.POETRY_VERSION }}-${{ hashFiles('poetry.lock') }}-${{ hashFiles('.github/workflows/code-quality-check.yml') }} + key: poetry-env-${{ runner.os }}-${{ matrix.python-version }}-${{ env.POETRY_VERSION }}-${{ hashFiles('poetry.lock') }}-${{ hashFiles('.github/workflows/tests.yml') }} - name: Install dependencies if: steps.cache-poetry-venv.outputs.cache-hit != 'true' run: | @@ -49,16 +49,3 @@ jobs: - name: Run unit tests with pytest run: | poetry run pytest - - # int: - # name: Integration Tests - # runs-on: ubuntu-latest - # steps: - # - uses: actions/checkout@v2 - # - name: Run integration tests - # run: | - # docker-compose -f int/docker-compose.yml run tests - # - name: Clean up integration tests - # if: always() - # run: | - # docker-compose -f int/docker-compose.yml down From 86338be0111a54f5ebd01c30b8a3080fa77a7b8f Mon Sep 17 00:00:00 2001 From: Daniel Bluhm Date: Mon, 9 May 2022 15:09:02 -0400 Subject: [PATCH 2/2] feat: add image publish workflow Signed-off-by: Daniel Bluhm --- .github/workflows/publish-image.yml | 60 +++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 .github/workflows/publish-image.yml diff --git a/.github/workflows/publish-image.yml b/.github/workflows/publish-image.yml new file mode 100644 index 0000000..18aef83 --- /dev/null +++ b/.github/workflows/publish-image.yml @@ -0,0 +1,60 @@ +name: Echo Agent - Publish Image + +on: + release: + types: [published] + +# Ensure only the most recent workflow runs. +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + publish_to_ghcr: + name: Publish image to ghcr.io + runs-on: ubuntu-latest + steps: + - name: Check out + uses: actions/checkout@v2 + + - name: Lowercase repo owner + id: lowercase_repo_owner + uses: ASzc/change-string-case-action@v1 + with: + string: ${{ github.repository_owner }} + + - name: Setup Image Metadata + id: meta + uses: docker/metadata-action@v3 + with: + # list of Docker images to use as base name for tags + images: | + ghcr.io/${{ steps.lowercase_repo_owner.outputs.lowercase }}/echo-agent + # generate Docker tags based on the following events/attributes + tags: | + type=schedule + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=sha + + - name: Log in to the GitHub Container Registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Build and Push to Docker ghcr.io + uses: docker/build-push-action@v2 + with: + push: true + file: docker/Dockerfile + context: . + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}