name: Keycloak mailcow Build on: push: branches: [main] pull_request: jobs: release: name: Build und Bereitstellung runs-on: act-runner-user steps: - name: Checkout uses: https://github.com/actions/checkout@v4 - name: Build run: | mvn package - name: Remove old version if: gitea.event_name == 'push' run: | rm -rf /opt/data/keycloak/providers/spring-security-crypto-*.jar rm -rf /opt/data/keycloak/providers/keycloak-mailcow-*.jar - name: Deploy if: gitea.event_name == 'push' run: | export SPRINGSEC_VERSION=$(xmlstarlet sel -N x="http://maven.apache.org/POM/4.0.0" -t -m 'x:project/x:properties/x:version.springsec' -v . pom.xml) curl -sL \ https://repo1.maven.org/maven2/org/springframework/security/spring-security-crypto/$SPRINGSEC_VERSION/spring-security-crypto-$SPRINGSEC_VERSION.jar \ --output /opt/data/keycloak/providers/spring-security-crypto-$SPRINGSEC_VERSION.jar export SPI_VERSION=$(xmlstarlet sel -N x="http://maven.apache.org/POM/4.0.0" -t -m 'x:project/x:version' -v . pom.xml) cp -r target/keycloak-mailcow-$SPI_VERSION.jar /opt/data/keycloak/providers/keycloak-mailcow-$SPI_VERSION.jar - name: Restart Keycloak if: gitea.event_name == 'push' run: | curl -X POST -H "X-API-KEY: ${{ secrets.PORTAINER_API_KEY }}" https://docker.cantorgymnasium.de/api/stacks/48/stop\?endpointId\=1 curl -X POST -H "X-API-KEY: ${{ secrets.PORTAINER_API_KEY }}" https://docker.cantorgymnasium.de/api/stacks/48/start\?endpointId\=1 - name: Notification uses: actions/telegram-action@main if: always() with: chat_id: ${{ secrets.TG_CHAT_ID }} token: ${{ secrets.TG_TOKEN }}