Skip to content

Actipro Modern Theme #2490

Actipro Modern Theme

Actipro Modern Theme #2490

name: build and test
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
on:
push:
branches: [ master ]
paths-ignore:
- '**.md'
- 'docs/**'
pull_request:
branches: [ master ]
paths-ignore:
- '**.md'
- 'docs/**'
env:
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
jobs:
build-and-test:
name: Build and test
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/[email protected]
- uses: actions/[email protected]
- uses: actions/[email protected]
with:
node-version: 18
cache: 'npm'
cache-dependency-path: 'source/Gnomeshade.WebApi/Node/package-lock.json'
- name: Cache NuGet packages
uses: actions/[email protected]
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
- name: Cache Docker images
uses: ScribeMD/[email protected]
with:
key: docker-${{ runner.os }}-${{ hashFiles('**/WebserverSetup.cs') }}
- run: ./deployment/test.sh
env:
Admin:Password: ${{ secrets.DEMO_ADMIN_PASSWORD }}
Nordigen:SecretId: ${{ secrets.NORDIGEN_SECRET_ID }}
Nordigen:SecretKey: ${{ secrets.NORDIGEN_SECRET_KEY }}
Serilog:MinimumLevel: Warning
OpenTelemetry__Enabled: false
- name: Gather Code Coverage
uses: codecov/[email protected]
if: always()
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
build-deb:
name: Build debian package
runs-on: ubuntu-20.04
timeout-minutes: 10
steps:
- uses: actions/[email protected]
- uses: actions/[email protected]
- uses: actions/[email protected]
with:
node-version: 18
cache: 'npm'
cache-dependency-path: 'source/Gnomeshade.WebApi/Node/package-lock.json'
- run: echo "BUILD_TAG=-test"
- name: Cache NuGet packages
uses: actions/[email protected]
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
- name: Publish project
id: publish
run: deployment/publish.sh "Gnomeshade.WebApi" "linux-x64" "${{ github.run_number }}" "-test"
- name: Build debian package
run: deployment/debian.sh "${{ steps.publish.outputs.artifact }}" "${{ github.run_number }}"
- uses: actions/[email protected]
with:
name: Gnomeshade.WebApi_linux-x64.deb
path: "**/*.deb"
ansible:
name: Test ansible role
runs-on: ubuntu-20.04
timeout-minutes: 10
needs: build-deb
strategy:
matrix:
distro:
- debian10
- debian11
- debian12
- ubuntu2004
- ubuntu2204
steps:
- uses: actions/[email protected]
- uses: actions/[email protected]
id: download
with:
name: Gnomeshade.WebApi_linux-x64.deb
- run: mv ${{ steps.download.outputs.download-path }}/gnomeshade.deb ./deployment/ansible/gnomeshade/molecule/default/gnomeshade.deb
- uses: gofrolist/[email protected]
with:
molecule_working_dir: './deployment/ansible/gnomeshade'
env:
MOLECULE_DISTRO: ${{ matrix.distro }}
docker:
name: Test docker container
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/[email protected]
- run: ./deployment/test-docker.sh ${{ github.run_number }} ${{ secrets.DEMO_ADMIN_PASSWORD }}
resharper:
name: Resharper
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- uses: actions/[email protected]
- uses: actions/[email protected]
with:
node-version: 18
cache: 'npm'
cache-dependency-path: 'source/Gnomeshade.WebApi/Node/package-lock.json'
- name: Cache NuGet packages
uses: actions/[email protected]
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
- run: ./deployment/build.sh
- name: ReSharper annotations
timeout-minutes: 10
uses: VMelnalksnis/[email protected]
with:
solution: Gnomeshade.sln
resharper-version: 2023.3.0
treat-warnings-as-errors: true
extra-args: '--exclude=**.wixproj --exclude=**.wxs --no-build' # Hangs if WiX is not excluded