* Updating docker action * adding version to message * adding way to get PR title and body * Adding input pass to workflows Workflow dispatches may not get push header info. Switching logic to pass needed title and body info through just in case.
95 lines
2.8 KiB
YAML
95 lines
2.8 KiB
YAML
name: Build Nightly Docker
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
title:
|
|
description: "PR Title"
|
|
required: true
|
|
default: ""
|
|
body:
|
|
description: "PR Body"
|
|
required: true
|
|
default: ""
|
|
jobs:
|
|
docker:
|
|
name: Building Nightly Docker
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: Check Out Repo
|
|
uses: actions/checkout@v2
|
|
with:
|
|
ref: develop
|
|
|
|
- name: NodeJS to Compile WebUI
|
|
uses: actions/setup-node@v2.1.5
|
|
with:
|
|
node-version: '14'
|
|
- run: |
|
|
cd UI/Web || exit
|
|
echo 'Installing web dependencies'
|
|
npm install
|
|
|
|
echo 'Building UI'
|
|
npm run prod
|
|
|
|
echo 'Copying back to Kavita wwwroot'
|
|
rsync -a dist/ ../../API/wwwroot/
|
|
|
|
cd ../ || exit
|
|
|
|
- name: Get csproj Version
|
|
uses: naminodarie/get-net-sdk-project-versions-action@v1
|
|
id: get-version
|
|
with:
|
|
proj-path: Kavita.Common/Kavita.Common.csproj
|
|
|
|
- name: Echo csproj version
|
|
run: echo "${{steps.get-version.outputs.assembly-version}}"
|
|
|
|
- name: Compile dotnet app
|
|
uses: actions/setup-dotnet@v1
|
|
with:
|
|
dotnet-version: '5.0.x'
|
|
- run: ./monorepo-build.sh
|
|
|
|
- name: Trigger Sentry workflow
|
|
uses: benc-uk/workflow-dispatch@v1
|
|
with:
|
|
workflow: Sentry Map Release
|
|
token: ${{ secrets.REPO_GHA_PAT }}
|
|
inputs: '{ "version": "${{steps.get-version.outputs.assembly-version}}" }'
|
|
|
|
- name: Login to Docker Hub
|
|
uses: docker/login-action@v1
|
|
with:
|
|
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
|
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
|
|
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v1
|
|
|
|
- name: Set up Docker Buildx
|
|
id: buildx
|
|
uses: docker/setup-buildx-action@v1
|
|
|
|
- name: Build and push
|
|
id: docker_build
|
|
uses: docker/build-push-action@v2
|
|
with:
|
|
context: .
|
|
platforms: linux/amd64,linux/arm/v7,linux/arm64
|
|
push: true
|
|
tags: kizaing/kavita:nightly
|
|
|
|
- name: Image digest
|
|
run: echo ${{ steps.docker_build.outputs.digest }}
|
|
|
|
- name: Notify Discord
|
|
uses: Sniddl/discord-commits@v1.3
|
|
with:
|
|
webhook: ${{ secrets.DISCORD_DOCKER_UPDATE_URL }}
|
|
message: "A new nightly build v${{steps.get-version.outputs.assembly-version}} has been released for docker.\nhttps://hub.docker.com/r/kizaing/kavita/tags?page=1&ordering=last_updated"
|
|
embed: '{ "title": "${{ github.event.inputs.title }}", "description": "${{ github.event.inputs.body }}", "url": "{{ commit.url }}", "author": { "name": "{{ commit.author.name }} ({{ commit.author.username }})", "icon_url": "https://avatars.io/gravatar/{{ commit.author.email }}"} }'
|
|
last-commit-only: true
|