84 lines
2.7 KiB
YAML
84 lines
2.7 KiB
YAML
name: Build Application
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?'
|
|
- 'v*'
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: stable
|
|
container:
|
|
image: git.euph.dev/actions/runner-java-21:latest
|
|
steps:
|
|
- name: "Checkout"
|
|
uses: "https://git.euph.dev/actions/checkout@v3"
|
|
- name: "Install Angular CLI"
|
|
run: sudo npm i -g @angular/cli
|
|
- name: "Install Dependencies"
|
|
run: npm ci
|
|
- name: Build Bundle
|
|
run: ng build
|
|
- name: Upload Binary as Artifact
|
|
uses: "https://git.euph.dev/actions/upload-artifact@v3"
|
|
with:
|
|
name: web
|
|
path: dist/tower-defence-companion/browser/*
|
|
|
|
build-docker:
|
|
runs-on: docker
|
|
needs:
|
|
- build
|
|
steps:
|
|
- name: "Checkout"
|
|
uses: "https://git.euph.dev/actions/checkout@v3"
|
|
- name: Download artifact from previous job
|
|
uses: "https://git.euph.dev/actions/download-artifact@v3"
|
|
with:
|
|
name: web
|
|
path: .forgejo/workflows/web
|
|
- name: Login to Registry
|
|
uses: "https://git.euph.dev/actions/docker-login@v3"
|
|
with:
|
|
registry: git.euph.dev
|
|
username: ${{ secrets.DEPLOY_USER }}
|
|
password: ${{ secrets.DEPLOY_SECRET }}
|
|
- name: Build and push Web Image
|
|
uses: "https://git.euph.dev/actions/docker-build-push@v5"
|
|
with:
|
|
context: ".forgejo/workflows/"
|
|
push: true
|
|
tags: |
|
|
git.euph.dev/towerdefence/web-companion:${{ github.ref_name }}
|
|
${{ contains(github.ref_name, 'rc') == false && 'git.euph.dev/towerdefence/web-companion:latest' || '' }}
|
|
|
|
release:
|
|
runs-on: stable
|
|
container:
|
|
image: git.euph.dev/actions/runner-basic:latest
|
|
needs:
|
|
- build
|
|
- build-docker
|
|
steps:
|
|
- name: Create Empty Release Asset Dir
|
|
run: mkdir -p tmp/this/dir/does/not/exist/yet
|
|
- name: Create Release
|
|
uses: "https://git.euph.dev/actions/release@v2"
|
|
with:
|
|
direction: upload
|
|
tag: ${{ github.ref_name }}
|
|
token: ${{ secrets.DEPLOY_TOKEN }}
|
|
prerelease: ${{ contains( github.ref_name, "rc") }}
|
|
release-dir: tmp/this/dir/does/not/exist/yet
|
|
release-notes: |
|
|
# Tower Defence - Companion ${{ github.ref_name }}
|
|
Run this release with docker like this:
|
|
\`\`\`sh
|
|
docker run --rm -p 4300:80 git.euph.dev/towerdefence/web-companion:${{ github.ref_name }}
|
|
\`\`\`
|
|
It will be available under [\`localhost:4300\`](localhost:4300)
|
|
<br><br>
|
|
For more information read the [Documentation](https://git.euph.dev/TowerDefence/Dokumentation/wiki/Companion/Config)
|
|
|
|
|