Installing the prod and test dependencies separately for modularity #12
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI/CD Pipeline | |
on: | |
push: | |
branches: | |
- '*' | |
jobs: | |
Test: | |
runs-on: ubuntu-latest | |
steps: | |
# Checkout code | |
- name: Checkout code | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Build and run ICAT Docker Compose stack | |
run: docker compose up -d opensearch seed_opensearch scigateway-auth | |
# Build and run tests | |
- name: Build and Test | |
run: | | |
docker build --target test -t search-api:test . | |
docker run --network search_api_default search-api:test | |
Push-to-Harbor: | |
needs: Test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Login to Harbor | |
uses: docker/login-action@v3 | |
with: | |
registry: ${{ secrets.HARBOR_URL }} | |
username: ${{ secrets.HARBOR_USERNAME }} | |
password: ${{ secrets.HARBOR_PASSWORD }} | |
- name: Build and push the Upload API Docker image | |
uses: docker/build-push-action@v6 | |
with: | |
push: true | |
target: production | |
# Push to harbor using the branch name as tag. | |
tags: ${{ secrets.HARBOR_URL }}:${{ github.ref_name }} |