Skip to content

CI as a state of the art, part 3 (#26) #14

CI as a state of the art, part 3 (#26)

CI as a state of the art, part 3 (#26) #14

name: Push Entry Point
on:
push:
branches:
- main
- test-push-workflow
jobs:
workflows-sanity-checks:
uses: ./.github/workflows/10_workflow-sanity-checks.yml
build-go-projects:
needs: [ workflows-sanity-checks ]
strategy:
matrix:
go-component: [ 'gh-action', 'history-exporter' ]
uses: ./.github/workflows/50_go_build-one-component.yml
secrets: inherit
name: 'Golang: ${{ matrix.go-component }}'
with:
component-name: ${{ matrix.go-component }}
base-sha: ${{ github.event.after }}
head-sha: ${{ github.event.after }}
docker-image-base: neondatabase/${{ matrix.go-component }}
run-build: true
pack-to-docker-image: true
go-build-cache-restore-or-update: 'update'
go-mod-cache-restore-or-update: 'update'
test-go-projects:
strategy:
matrix:
go-component: ${{ fromJson('["gh-action", "history-exporter"]') }}
uses: ./.github/workflows/50_go_build-one-component.yml
secrets: inherit
name: 'Unit Tests: ${{ matrix.go-component }}'
with:
component-name: ${{ matrix.go-component }}
base-sha: ${{ github.event.after }}
head-sha: ${{ github.event.after }}
docker-image-base: neondatabase/${{ matrix.go-component }}
run-tests: true
e2e-tests:
needs: [ build-go-projects ]
runs-on: [ self-hosted, small ]
steps:
- run: |
echo "Running e2e tests"
conclusion:
needs: [ test-go-projects, e2e-tests ]
if: ${{ always() }}
runs-on: [ self-hosted, small ]
steps:
- name: Print final message
run: |
echo Thats it.
final-step:
needs: [ build-go-projects ]
if: ${{ always() }}
runs-on: [ self-hosted, small ]
steps:
- name: Print final message
run: |
echo Thats it.