Skip to content

IIFE

IIFE #536

Workflow file for this run

name: Dev
concurrency: build
on:
push:
branches:
- main
- 'release/*'
pull_request:
branches:
- main
- 'release/*'
jobs:
build_test:
runs-on: ubuntu-latest
steps:
- name: Prepare - Checkout
uses: actions/[email protected]
- name: Prepare - Inject short Variables
uses: rlespinasse/[email protected]
- name: Prepare - Set up QEMU
uses: docker/[email protected]
- name: Prepare - Set up Docker Buildx
uses: docker/[email protected]
- name: Build - BUILD
uses: docker/[email protected]
with:
load: true
build-args: "NOTIFO__RUNTIME__VERSION=1.0.0-dev-${{ env.BUILD_NUMBER }}"
cache-from: type=gha
cache-to: type=gha,mode=max
tags: notifo-local
- name: Test - Inject Google Credentials
if: github.event_name != 'pull_request'
run: mkdir secrets && echo "$GOOGLE__KEYFILE" >| secrets/keyfile.json
working-directory: tools/TestSuite
env:
GOOGLE__KEYFILE: ${{ secrets.GOOGLE__KEYFILE }}
- name: Test - Start Compose
run: docker compose up -d
working-directory: tools/TestSuite
- name: Test - RUN
uses: kohlerdominik/[email protected]
with:
image: mcr.microsoft.com/dotnet/sdk:8.0
environment: |
MAILCATCHER__HOST__SMTP=mailcatcher
MESSAGEBIRD__ACCESSKEY=${{ secrets.MESSAGEBIRD__ACCESSKEY }}
CONFIG__WAIT=60
CONFIG__SERVER__URL=http://localhost:8080
WEBHOOKCATCHER__HOST__ENDPOINT=webhookcatcher
default_network: host
options: --name test1
volumes: ${{ github.workspace }}:/src
run: dotnet test /src/tools/TestSuite/TestSuite.ApiTests/TestSuite.ApiTests.csproj --filter Category!=NotAutomated
- name: Test - RUN on GooglePubSub
if: github.event_name != 'pull_request'
uses: kohlerdominik/[email protected]
with:
image: mcr.microsoft.com/dotnet/sdk:8.0
environment: |
MAILCATCHER__HOST__SMTP=mailcatcher
MESSAGEBIRD__ACCESSKEY=${{ secrets.MESSAGEBIRD__ACCESSKEY }}
CONFIG__WAIT=60
CONFIG__SERVER__URL=http://localhost:8081
WEBHOOKCATCHER__HOST__ENDPOINT=webhookcatcher
default_network: host
options: --name test2
volumes: ${{ github.workspace }}:/src
run: dotnet test /src/tools/TestSuite/TestSuite.ApiTests/TestSuite.ApiTests.csproj --filter Category!=NotAutomated
- name: Test - Dump docker logs on failure
if: failure()
uses: jwalton/[email protected]
with:
images: 'notifo-local,squidex/resizer'
tail: '100'
- name: Test - Cleanup
if: always()
run: docker compose down
working-directory: tools/TestSuite
- name: Publish - Calculate Version
if: github.event_name != 'pull_request'
env:
BUILD_NUMBER: ${{ github.run_number }}
run: |
echo "BUILD_NUMBER=$(($BUILD_NUMBER + 1000))" >> $GITHUB_ENV
- name: Publish - Login to Docker Hub
if: github.event_name != 'pull_request'
uses: docker/[email protected]
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Publish - Rename Tags
if: github.event_name != 'pull_request'
run: |
docker tag notifo-local squidex/notifo-dev
docker tag notifo-local squidex/notifo-dev:${{ env.BUILD_NUMBER }}
- name: Publish - Push Tags
if: github.event_name != 'pull_request'
run: |
docker push squidex/notifo-dev
docker push squidex/notifo-dev:${{ env.BUILD_NUMBER }}