Skip to content

Add docker steps to build.yaml #36

Add docker steps to build.yaml

Add docker steps to build.yaml #36

Workflow file for this run

name: Run tests with coverage
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
PROJECT_NAME: Arcane.Operator
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
# validate_commit:
# name: Validate commit
# runs-on: ubuntu-latest
# if: ${{ github.ref != 'refs/heads/main' }}
# steps:
# - uses: actions/checkout@v4
#
# - name: Setup .NET
# uses: actions/setup-dotnet@v4.0.0
# with:
# dotnet-version: 8.0.x
#
# - name: Restore dependencies
# run: dotnet clean && dotnet nuget locals all --clear && dotnet restore
#
# - name: Build
# run: dotnet build --no-restore
#
# - name: Test
# working-directory: ./test
# run: |
# dotnet add package coverlet.msbuild &&
# dotnet test ${PROJECT_NAME}.Tests.csproj --configuration Debug --runtime linux-x64 /p:CollectCoverage=true /p:CoverletOutput=Coverage/ /p:CoverletOutputFormat=lcov --logger GitHubActions
#
# - name: Publish Code Coverage
# if: ${{ github.event_name == 'pull_request' && always() }}
# uses: romeovs/lcov-reporter-action@v0.3.1
# with:
# github-token: ${{ secrets.GITHUB_TOKEN }}
# lcov-file: ./test/Coverage/coverage.info
build_image_and_chart:
name: Build Docker Image and Helm Charts
runs-on: ubuntu-latest
# needs: [ validate_commit ]
# if: ${{ always() && (needs.validate_commit.result == 'success' || needs.validate_commit.result == 'skipped') }}
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Log in to the Container registry
uses: docker/login-action@v3.1.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get project version
uses: SneaksAndData/github-actions/generate_version@v0.0.17
id: version
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=semver,pattern={{version}},value=${{steps.version.outputs.version}}
- name: Build and push Docker image
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
with:
context: .
file: .container/Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}