diff --git a/.github/workflows/backend_deploy_staging.yml b/.github/workflows/backend_deploy_staging.yml new file mode 100644 index 00000000..cabc9b6a --- /dev/null +++ b/.github/workflows/backend_deploy_staging.yml @@ -0,0 +1,36 @@ +name: backend-staging-workflow + +on: + workflow_run: + workflows: ["backend-test"] + types: + - completed + push: + branches: + - staging + paths: + - 'backend/**' + - compose.yml + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Authorize to with doctl + run: echo ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }} | doctl auth init --context github-actions + + - name: Login to Docker registry + run: doctl registry login --context github-actions + + - name: Build Docker image + run: docker compose build + + - name: Tag Docker image + run: docker tag bounswe2024group1-backend:latest registry.digitalocean.com/semantic-browse/backend-staging:latest + + - name: Push Docker image + run: docker push registry.digitalocean.com/semantic-browse/backend-staging:latest + diff --git a/.github/workflows/backend_test.yml b/.github/workflows/backend_test.yml new file mode 100644 index 00000000..6d33851e --- /dev/null +++ b/.github/workflows/backend_test.yml @@ -0,0 +1,32 @@ +name: backend-test + +on: + push: + paths: + - 'backend/**' + - compose.yml + - dev.yml + - '.github/workflows/backend_test.yml' + + pull_request: + branches: + - main + - staging + - develop + + +jobs: + test: + runs-on: ubuntu-latest + env: + working-directory: + backend + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Test with Maven + run: docker compose -f dev.yml run --rm backend mvn test + + +