diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..5451483 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,21 @@ +name: pass-docker-services Continuous Integration +on: [ pull_request, workflow_dispatch ] + +concurrency: + group: ci-${{ github.head_ref || github.ref }} + cancel-in-progress: true + +jobs: + print-workflow-description: + runs-on: ubuntu-latest + steps: + - run: echo "This is a CI build of branch ${{ github.ref }} in repository ${{ github.repository }}" + - run: echo "This job was triggered by a ${{ github.event_name }} event and is running on a ${{ runner.os }} server" + + call-tests-unit: + name: Run Unit Tests + uses: eclipse-pass/pass-policy-service/.github/workflows/tests-unit.yml@main + + call-tests-integration: + name: Run Integration Tests + uses: eclipse-pass/pass-policy-service/.github/workflows/tests-integration.yml@main diff --git a/.github/workflows/tests-integration.yml b/.github/workflows/tests-integration.yml new file mode 100644 index 0000000..152f568 --- /dev/null +++ b/.github/workflows/tests-integration.yml @@ -0,0 +1,28 @@ +name: Run Integration Tests +on: + workflow_call + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout the repository + uses: actions/checkout@v2 + + - name: Setup Go + uses: actions/setup-go@v3 + with: + go-version: '>=1.17.0' + + - name: Docker pull + run: docker-compose pull + + - name: Start containers + run: docker-compose up -d + + - name: Run Integration Tests + run: go test -tags=integration ./... + + - name: Stop containers + if: always() + run: docker-compose -f "docker-compose.yml" down diff --git a/.github/workflows/tests-unit.yml b/.github/workflows/tests-unit.yml new file mode 100644 index 0000000..2bd43ee --- /dev/null +++ b/.github/workflows/tests-unit.yml @@ -0,0 +1,18 @@ +name: Run Unit Tests +on: + workflow_call + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout the repository + uses: actions/checkout@v2 + + - name: Setup Go + uses: actions/setup-go@v3 + with: + go-version: '>=1.17.0' + + - name: Run Unit Tests + run: go test ./...