move to new pipeline

This commit is contained in:
2025-03-27 20:46:25 +01:00
parent 47dca8ed3d
commit cd72097e02
9 changed files with 125 additions and 141 deletions

View File

@@ -1,52 +0,0 @@
name: Release Auth service to Docker Hub
on:
pull_request:
paths:
- "cmd/auth/**"
- "pkg/**"
- "deployment/auth-service/**"
- ".github/workflows/auth-service-cd.yml"
jobs:
docker:
name: Build and Push Auth-service image to Docker Hub
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
id: create_image_tag
with:
script: |
if(github.ref == 'refs/heads/main') {
return 'latest';
} else if(context.issue.number) {
return "pr" + context.issue.number;
} else {
return "pr" + (
await github.rest.repos.listPullRequestsAssociatedWithCommit({
commit_sha: context.sha,
owner: context.repo.owner,
repo: context.repo.repo,
})
).data[0].number;
}
result-encoding: string
- name: Image tag
run: echo '${{steps.create_image_tag.outputs.result}}'
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
push: true
context: "{{defaultContext}}:cmd/auth"
tags: vcscsvcscs/gheritage-auth-service:${{steps.create_image_tag.outputs.result}}
platforms: linux/amd64, linux/arm64

35
.github/workflows/db_adapter_ci.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: Database Adapter Continues Integration
on:
pull_request:
paths:
- "apps/db-adapter**"
jobs:
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.24'
cache: false
- name: golangci-lint
uses: golangci/golangci-lint-action@v4
with:
version: latest
working-directory: 'apps/db-adapter'
test:
uses: ./.github/workflows/go_test.yml
needs: golangci
with:
working-directory: 'apps/db-adapter'
build:
needs: test
uses: ./.github/workflows/docker_build.yml
with:
working-directory: 'apps/db-adapter'
service-name: 'gheritage-db-adapter'

View File

@@ -1,12 +1,14 @@
name: Release Backend service to Docker Hub
name: Release to Docker Hub
on:
pull_request:
paths:
- "cmd/backend/**"
- "pkg/**"
- "deployment/backend/**"
- ".github/workflows/backend-cd.yml"
workflow_call:
inputs:
service-name:
required: true
type: string
working-directory:
required: true
type: string
jobs:
docker:
@@ -47,6 +49,6 @@ jobs:
uses: docker/build-push-action@v5
with:
push: true
context: "{{defaultContext}}:cmd/backend"
tags: vcscsvcscs/gheritage-backend-service:${{steps.create_image_tag.outputs.result}}
platforms: linux/amd64, linux/arm64
context: "{{defaultContext}}:${{ inputs.working-directory }}"
tags: vcscsvcscs/${{ inputs.service-name }}:${{steps.create_image_tag.outputs.result}}
platforms: linux/amd64, linux/arm64

35
.github/workflows/go_test.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: Go Test
on:
workflow_call:
inputs:
working-directory:
required: true
type: string
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Go 1.24.x'
uses: actions/setup-go@v5
with:
go-version: '1.24.1'
- name: Display Go version
run: go version
- name: Install dependencies
run: |
go get ./${{ inputs.working-directory }}/...
- name: Run tests
run: |
go test ./${{ inputs.working-directory }}/... -json > TestResults.json
- name: Upload Go test results
uses: actions/upload-artifact@v4
with:
name: Go-Test-results
path: TestResults.json

View File

@@ -1,23 +0,0 @@
name: Go Lint
on:
pull_request:
paths:
- "cmd/**"
- "pkg/**"
jobs:
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.23'
cache: false
- name: golangci-lint
uses: golangci/golangci-lint-action@v4
with:
version: latest
working-directory: .

View File

@@ -1,24 +0,0 @@
on:
workflow_call:
inputs:
working-directory:
required: true
type: string
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '21.x'
- name: Install dependencies
run: |
cd ${{ inputs.working-directory }}
npm ci
- name: Build
run: |
cd ${{ inputs.working-directory }}
npm run build

View File

@@ -1,15 +1,18 @@
name: Frontend Continuous Integration
on:
pull_request:
paths:
- "cmd/frontend/**"
- "apps/app**"
jobs:
lint:
uses: ./.github/workflows/svelte_lint.yml
with:
working-directory: 'cmd/frontend'
working-directory: 'apps/app'
build:
needs: lint
uses: ./.github/workflows/svelte_build.yml
uses: ./.github/workflows/svelte_test.yml
with:
working-directory: 'cmd/frontend'
working-directory: 'apps/app'

36
.github/workflows/svelte_test.yml vendored Normal file
View File

@@ -0,0 +1,36 @@
on:
workflow_call:
inputs:
working-directory:
required: true
type: string
jobs:
test:
runs-on: ubuntu-latest
permissions:
# Required to checkout the code
contents: read
# Required to put a comment into the pull-request
pull-requests: write
steps:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '21.x'
- name: Install dependencies
run: |
cd ${{ inputs.working-directory }}
npm ci
- name: 'Test'
run: |
cd ${{ inputs.working-directory }}
npx vitest --coverage.enabled true
- name: 'Report Coverage'
# Set if: always() to also generate the report if tests are failing
# Only works if you set `reportOnFailure: true` in your vite config as specified above
if: always()
uses: davelosert/vitest-coverage-report-action@v2
with:
working-directory: ${{ inputs.working-directory }}

View File

@@ -1,28 +0,0 @@
name: Go Test
on:
pull_request:
paths:
- "cmd/**"
- "pkg/**"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Go 1.23.x'
uses: actions/setup-go@v5
with:
go-version: '1.23.x'
- name: Display Go version
run: go version
- name: Install dependencies
run: |
go get ./...
- name: Run tests
run: |
go test ./...