name: GoLang Tests run-name: ${{ gitea.actor }} is testing golang Code on: [push] jobs: testing: name: check and test runs-on: ubuntu-latest services: postgres: image: postgres:16 env: POSTGRES_USER: root POSTGRES_PASSWORD: password POSTGRES_DB: arbeitszeitmessung env: POSTGRES_HOST: postgres POSTGRES_USER: root POSTGRES_PASSWORD: password POSTGRES_DB: arbeitszeitmessung POSTGRES_PORT: 5432 steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 # all history for all branches and tags - name: Setup go uses: actions/setup-go@v5 with: go-version-file: Backend/go.mod check-latest: true - uses: https://gitea.com/actions/go-hashfiles@v0.0.1 id: hash-go with: patterns: | go.mod go.sum - name: cache go id: cache-go uses: actions/cache@v4 with: path: | /go_path /go_cache key: go_path-${{ steps.hash-go.outputs.hash }} # - name: Setup test database # run: | # docker run -d --rm --name postgres_build_db \ # -p $POSTGRES_PORT:5432 \ # -e POSTGRES_USER=$POSTGRES_USER \ # -e POSTGRES_PASSWORD=$POSTGRES_PASSWORD \ # -e POSTGRES_DB=$POSTGRES_DB \ # postgres:16 # while [[ $(docker logs postgres_build_db 2>&1 | grep -c "database system is ready to accept connections") == 0 ]]; do # sleep 1; # done; - name: Run Go Tests run: cd Backend && go test ./... # - name: Shutdown Postgres DB # run: docker stop postgres_build_db