mirror of
https://github.com/Lissy93/dashy.git
synced 2025-07-20 04:04:54 +02:00
🔀 Merge pull request #1602 from Lissy93/BUILD/repo-docker-tagging
BUILD/ Update taging and release workflows
This commit is contained in:
commit
6db97b0f7f
7
.github/pull_request_template.md
vendored
7
.github/pull_request_template.md
vendored
@ -1,4 +1,7 @@
|
|||||||
*Thank you for contributing to Dashy! So that your PR can be handled effectively, please populate the following fields (delete sections that are not applicable)*
|
<!--
|
||||||
|
Thank you for contributing to Dashy!
|
||||||
|
So that your PR can be handled effectively, please populate the following fields
|
||||||
|
-->
|
||||||
|
|
||||||
**Category**:
|
**Category**:
|
||||||
> One of: Bugfix / Feature / Code style update / Refactoring Only / Build related changes / Documentation / Other (please specify)
|
> One of: Bugfix / Feature / Code style update / Refactoring Only / Build related changes / Documentation / Other (please specify)
|
||||||
@ -20,5 +23,5 @@
|
|||||||
- [ ] There are no (new) build warnings or errors
|
- [ ] There are no (new) build warnings or errors
|
||||||
- [ ] _(If a new config option is added)_ Attribute is outlined in the schema and documented
|
- [ ] _(If a new config option is added)_ Attribute is outlined in the schema and documented
|
||||||
- [ ] _(If a new dependency is added)_ Package is essential, and has been checked out for security or performance
|
- [ ] _(If a new dependency is added)_ Package is essential, and has been checked out for security or performance
|
||||||
- [ ] Bumps version, if new feature added
|
- [ ] _(If significant change)_ Bumps version in package.json
|
||||||
|
|
||||||
|
44
.github/workflows/auto-tag-pr.yml
vendored
44
.github/workflows/auto-tag-pr.yml
vendored
@ -1,44 +0,0 @@
|
|||||||
# Creates a new tag, whenever the app version (in package.json) is updated in master
|
|
||||||
# And marks any relevant issues as fixed
|
|
||||||
name: 🏗️ Release Tag new Versions
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
jobs:
|
|
||||||
tag-pre-release:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
outputs:
|
|
||||||
tag: ${{ steps.autotag.outputs.tagname }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: butlerlogic/action-autotag@stable
|
|
||||||
id: autotag
|
|
||||||
with:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
|
||||||
strategy: package
|
|
||||||
commit_message_template: "🔖 {{number}} {{message}} (by {{author}})\nSHA: {{sha}}\n."
|
|
||||||
github-release:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: tag-pre-release
|
|
||||||
if: ${{ needs.tag-pre-release.outputs.tag }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: ncipollo/release-action@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
tag: ${{ needs.tag-pre-release.outputs.tag }}
|
|
||||||
bodyFile: ".github/LATEST_CHANGELOG.md"
|
|
||||||
mark-issue-fixed:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
if: ${{ github.event_name == 'issues' }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Label Fixed Issues
|
|
||||||
uses: gh-bot/fix-labeler@master
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
|
||||||
label: '✅ Fixed'
|
|
55
.github/workflows/create-tag-for-version.yml
vendored
Normal file
55
.github/workflows/create-tag-for-version.yml
vendored
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# When Dashy's version in package.json is updated
|
||||||
|
# this workflow will create a new tag
|
||||||
|
# And then publish it to the repository
|
||||||
|
name: 🏗️ Tag on Version Change
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths:
|
||||||
|
- 'package.json'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
tag-if-version-updated:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Check Out Repository 🛎️
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Set Up Python 🐍
|
||||||
|
uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: '3.x'
|
||||||
|
|
||||||
|
- name: Extract Version from package.json 🔢
|
||||||
|
id: package_version
|
||||||
|
run: |
|
||||||
|
import json
|
||||||
|
with open('package.json', 'r') as f:
|
||||||
|
version = json.load(f)['version']
|
||||||
|
print(f"::set-output name=VERSION::{version}")
|
||||||
|
shell: python
|
||||||
|
|
||||||
|
- name: Get Latest Tag 🏷️
|
||||||
|
id: latest_tag
|
||||||
|
run: |
|
||||||
|
git fetch --tags
|
||||||
|
latest_tag=$(git describe --tags `git rev-list --tags --max-count=1` 2>/dev/null)
|
||||||
|
echo "::set-output name=TAG::${latest_tag:-0}"
|
||||||
|
|
||||||
|
- name: Create and Push Tag ⤴️
|
||||||
|
if: steps.package_version.outputs.VERSION != steps.latest_tag.outputs.TAG && steps.latest_tag.outputs.TAG != '0'
|
||||||
|
run: |
|
||||||
|
git config --local user.email "liss-bot@d0h.co"
|
||||||
|
git config --local user.name "Liss-Bot"
|
||||||
|
git tag -a ${{ steps.package_version.outputs.VERSION }} -m "Release v${{ steps.package_version.outputs.VERSION }}"
|
||||||
|
git push origin ${{ steps.package_version.outputs.VERSION }}
|
||||||
|
env:
|
||||||
|
GIT_AUTHOR_NAME: Liss-Bot
|
||||||
|
GIT_AUTHOR_EMAIL: liss-bot@d0h.co
|
||||||
|
GIT_COMMITTER_NAME: Liss-Bot
|
||||||
|
GIT_COMMITTER_EMAIL: liss-bot@d0h.co
|
||||||
|
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
5
.github/workflows/docker-build-publish.yml
vendored
5
.github/workflows/docker-build-publish.yml
vendored
@ -1,11 +1,10 @@
|
|||||||
# Scans, builds and releases a multi-architecture docker image
|
|
||||||
name: 🐳 Build + Publish Multi-Platform Image
|
name: 🐳 Build + Publish Multi-Platform Image
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
push:
|
push:
|
||||||
branches: ['master']
|
branches: ['master']
|
||||||
tags: [v*]
|
tags: ['v*']
|
||||||
paths:
|
paths:
|
||||||
- '**.js'
|
- '**.js'
|
||||||
- 'src/**'
|
- 'src/**'
|
||||||
@ -48,7 +47,7 @@ jobs:
|
|||||||
ghcr.io/${{ env.GH_IMAGE }}
|
ghcr.io/${{ env.GH_IMAGE }}
|
||||||
tags: |
|
tags: |
|
||||||
type=ref,event=tag,prefix=release-,suffix={{tag}}
|
type=ref,event=tag,prefix=release-,suffix={{tag}}
|
||||||
type=semver,pattern={{raw}},value=${{ steps.package-version.outputs.version }}
|
type=semver,pattern={{major}}.x,value=${{ steps.package-version.outputs.version }}
|
||||||
labels: |
|
labels: |
|
||||||
maintainer=Lissy93
|
maintainer=Lissy93
|
||||||
org.opencontainers.image.title=Dashy
|
org.opencontainers.image.title=Dashy
|
||||||
|
30
.github/workflows/draft-release.yml
vendored
Normal file
30
.github/workflows/draft-release.yml
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
name: 🏗️ Draft New Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- '*.*.*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
create-draft-release:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code 🛎️
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0 # We need all history for generating release notes
|
||||||
|
|
||||||
|
- name: Create Draft Release 📝
|
||||||
|
id: create_release
|
||||||
|
uses: actions/create-release@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
tag_name: ${{ github.ref }}
|
||||||
|
release_name: Release ${{ github.ref }}
|
||||||
|
draft: true
|
||||||
|
prerelease: false
|
||||||
|
generate_release_notes: true
|
||||||
|
|
||||||
|
- name: Output new release URL ↗️
|
||||||
|
run: 'echo "Draft release URL: ${{ steps.create_release.outputs.html_url }}"'
|
Loading…
x
Reference in New Issue
Block a user