From f64f3654ed2b1f5d7c0a1d949eed76f31b8329e0 Mon Sep 17 00:00:00 2001 From: Naushadh Date: Mon, 19 Aug 2024 17:26:19 -0700 Subject: [PATCH 1/2] Revert "Share secrets with PRs" This reverts commit c8f4f4350141ea17c60504ead4fd3f6d5af70f69. The [guide](https://dvc.ai/blog/testing-external-contributions-using-github-actions-secrets) we followed is no longer functional with current Github actions and always yields a cryptic error: "The job could not retrieve the repository token." --- .github/workflows/test.yml | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e6e923e..b46b82e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,32 +1,19 @@ name: Test on: push: { branches: [ main ] } - pull_request_target: + pull_request: jobs: - # Inspired from: https://dvc.ai/blog/testing-external-contributions-using-github-actions-secrets - authorize: - environment: | - ${{ github.event_name == 'pull_request_target' && - github.event.pull_request.head.repo.full_name != github.repository && - 'external' || 'internal' }} - runs-on: ubuntu-latest - steps: - - run: true - test: name: Run test suite runs-on: ubuntu-latest - needs: authorize env: DOCKER_USER: ${{ secrets.DOCKER_USER }} DOCKER_PASS: ${{ secrets.DOCKER_PASS }} steps: - name: Checkout code - uses: actions/checkout@v3 - with: - ref: ${{ github.event.pull_request.head.sha || github.ref }} + uses: actions/checkout@v2 - name: Login to DockerHub run: echo $DOCKER_PASS | docker login --username $DOCKER_USER --password-stdin From c843fb33369175b1720dea9f27c17bb1bd50c6ce Mon Sep 17 00:00:00 2001 From: Naushadh Date: Mon, 19 Aug 2024 17:34:23 -0700 Subject: [PATCH 2/2] Upgrade to latest docker and actions - Update Makefile to invoke `docker compose` instead of `docker-compose` since the latter was deprecated in latest version of docker; see [article](https://docs.docker.com/compose/migrate/) - Update docker-compose.yml to drop version field since it is deprecated in latest version of docker compose; see [forum](https://forums.docker.com/t/docker-compose-yml-version-is-obsolete/141313) - Update README.md to document version and build steps required for local development - Update release.yml to assert successful state since completed doesn't imply that, see [comment](https://github.com/orgs/community/discussions/26238#discussioncomment-3250901). - Update test.yml to upgrade checkout action --- .github/workflows/release.yml | 1 + .github/workflows/test.yml | 4 ++-- Makefile | 15 +++++++++++---- README.md | 6 +++--- docker-compose.yml | 2 -- 5 files changed, 17 insertions(+), 11 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 05ddd5b..8e9a982 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,6 +9,7 @@ on: jobs: release: name: Push to DockerHub + if: ${{ github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest env: DOCKER_USER: ${{ secrets.DOCKER_USER }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b46b82e..7fd681e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,7 +13,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Login to DockerHub run: echo $DOCKER_PASS | docker login --username $DOCKER_USER --password-stdin @@ -25,4 +25,4 @@ jobs: run: make env-up - name: Run tests - run: docker-compose run test + run: make test diff --git a/Makefile b/Makefile index 604536c..c18c6c2 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,8 @@ Available commands: - env-up: Boot up development environment +- test: Run all tests + - env-down: Tear down development environment - help: Display this help message @@ -18,14 +20,19 @@ help: .PHONY: help build: - docker-compose build + docker compose pull + docker compose build .PHONY: build env-up: build - docker-compose up --detach - while ! (docker-compose logs app | grep 'Starting Metastore'); do sleep 1 && printf .; done + docker compose up --detach + while ! (docker compose logs app | grep 'Starting Metastore'); do sleep 1 && printf .; done .PHONY: env-up +test: + docker compose run --no-deps test +.PHONY: test + env-down: - docker-compose down + docker compose down .PHONY: env-down diff --git a/README.md b/README.md index a14d90f..795c79d 100644 --- a/README.md +++ b/README.md @@ -73,14 +73,14 @@ S3_PREFIX | Yes | S3 bucket prefix This project has most of the batteries included to test and verify that the app works -1. Install docker and docker-compose +1. Install docker (27+) with compose 2. Launch dev environment ```bash - $ make env-up + $ make build env-up ``` 3. Run test(s) ```bash - $ docker-compose run test + $ make test ``` diff --git a/docker-compose.yml b/docker-compose.yml index 0155b75..d705e4d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3.9' - services: postgres: image: postgres:14-alpine