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 e6e923e..7fd681e 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@v4 - name: Login to DockerHub run: echo $DOCKER_PASS | docker login --username $DOCKER_USER --password-stdin @@ -38,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