distribution/.github/workflows/release-main.yaml

73 lines
2.3 KiB
YAML
Raw Normal View History

2022-04-10 19:51:34 +00:00
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2021-present 351ELEC
# Copyright (C) 2022-present Fewtarius
### Based on work by @pkegg
name: release-main
2022-04-10 19:53:34 +00:00
on:
2022-10-06 09:16:26 +00:00
push:
paths-ignore:
- '.github/**'
- '*.md'
- 'Dockerfile'
- '.dockerignore'
- '.gitignore'
- 'licenses/**'
- 'tools/**'
branches:
- main
2022-04-10 19:51:34 +00:00
workflow_dispatch:
env:
BRANCH: main
jobs:
launch-main-release-if-needed:
2022-12-31 13:54:53 +00:00
runs-on: ubuntu-22.04
2022-04-10 19:51:34 +00:00
steps:
- uses: actions/checkout@v2
name: checkout
with:
clean: false
fetch-depth: 0
ref: "${{env.BRANCH}}"
- name: only run on the primary repository
if: ${{ !startsWith(github.repository_owner, 'JustEnoughLinuxOS') }}
run: exit 0
2022-04-10 19:51:34 +00:00
- name: repository full name
id: full_name
run: |
echo "::set-output name=full_name::$(git config --get remote.origin.url | sed 's|^.*github.com/||g' | sed 's/.git$//g')"
2022-10-06 09:16:26 +00:00
- name: changes
id: changes
run: |
prevrelcommit="$(git rev-list --tags --max-count=1)"
release_notes="$(git log ${prevrelcommit}..HEAD --pretty=format:"* %h: %s")"
release_notes="${release_notes//'%'/'%25'}"
release_notes="${release_notes//$'\n'/'%0A'}"
release_notes="${release_notes//$'\r'/'%0D'}"
echo "::set-output name=changes::$(echo ${release_notes} | wc -l)"
echo "::set-output name=release_notes::${release_notes}"
2022-04-10 19:51:34 +00:00
- name: Get date for artifacts
id: date
run: echo "::set-output name=date::$(date +'%Y%m%d')"
2022-04-10 19:51:34 +00:00
- name: Repository Dispatch
if: steps.changes.outputs.changes != '0'
uses: peter-evans/repository-dispatch@v1
with:
token: ${{ secrets.REPO_ACCESS }}
repository: ${{ steps.full_name.outputs.full_name }}
event-type: release-main
client-payload: |
{
"branch" : "${{ env.BRANCH }}",
"release_tag" : "${{steps.date.outputs.date}}",
2022-10-06 09:16:26 +00:00
"release_notes" : ${{toJSON(steps.changes.outputs.release_notes)}}
2022-04-10 19:51:34 +00:00
}