84 lines
2.8 KiB
YAML
84 lines
2.8 KiB
YAML
name: Release
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- "master"
|
|
types: [closed]
|
|
jobs:
|
|
merge:
|
|
runs-on: ubuntu-latest
|
|
name: Merge Release
|
|
steps:
|
|
- name: Check out files
|
|
if: github.event.pull_request.merged
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: false
|
|
lfs: false
|
|
|
|
# Set up committer info and GPG key
|
|
- name: Import GPG key
|
|
if: github.event.pull_request.merged
|
|
id: import_gpg
|
|
uses: XLabsProject/ghaction-import-gpg@25d9d6ab99eb355c169c33c2306a72df85d9f516
|
|
with:
|
|
git-commit-gpgsign: true
|
|
git-committer-email: "${{ secrets.XLABS_CI_EMAIL }}"
|
|
git-committer-name: "${{ secrets.XLABS_CI_NAME }}"
|
|
git-push-gpgsign: false
|
|
git-tag-gpgsign: true
|
|
git-user-signingkey: true
|
|
gpg-private-key: ${{ secrets.XLABS_CI_GPG_PRIVATE_KEY }}
|
|
passphrase: ${{ secrets.XLABS_CI_GPG_PASSWORD }}
|
|
|
|
- name: Extract version from pull request
|
|
if: github.event.pull_request.merged
|
|
id: extract_version
|
|
run: |
|
|
title="${{ github.event.pull_request.title }}"
|
|
version="${title#Release }"
|
|
echo "::set-output name=version::$version"
|
|
|
|
- name: Create annotated tag
|
|
if: github.event.pull_request.merged
|
|
run: |
|
|
git tag -a -m "${{ github.event.pull_request.title }}" \
|
|
"${{ steps.extract_version.outputs.version }}" \
|
|
"${{ github.event.pull_request.merge_commit_sha }}"
|
|
git push origin --tags
|
|
|
|
- name: Create Pull Request
|
|
if: github.event.pull_request.merged
|
|
uses: repo-sync/pull-request@v2
|
|
with:
|
|
github_token: ${{ secrets.XLABS_CI_GITHUB_TOKEN }}
|
|
source_branch: "master"
|
|
destination_branch: "develop"
|
|
pr_allow_empty: true
|
|
pr_body: |
|
|
This Pull Request merges the release of IW4x ${{ steps.extract_version.outputs.version }} and was [automatically created by a workflow](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) triggered by @${{ github.actor }}.
|
|
pr_title: Merge release ${{ steps.extract_version.outputs.version }}
|
|
pr_label: release
|
|
|
|
|
|
notify:
|
|
name: Notify Discord
|
|
runs-on: ubuntu-latest
|
|
if: |
|
|
github.repository_owner == 'XLabsProject' && (
|
|
(
|
|
github.event.pull_request.merged
|
|
) || (
|
|
github.event.push.ref == 'refs/heads/master' ||
|
|
github.event.push.ref == 'refs/heads/develop'
|
|
)
|
|
)
|
|
steps:
|
|
- name: Post CI status notification to Discord
|
|
uses: sarisia/actions-status-discord@v1.7.1
|
|
if: always()
|
|
with:
|
|
webhook: ${{ secrets.DISCORD_CI_BOT_WEBHOOK }}
|
|
title: "Build"
|