forked from eclipse-edc/FederatedCatalog
-
Notifications
You must be signed in to change notification settings - Fork 0
62 lines (55 loc) · 1.91 KB
/
release-fcc.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
name: Create Release of FCC
on:
workflow_dispatch:
inputs:
edc_version:
description: 'Version string that is used for publishing (e.g. "1.0.0", NOT "v1.0.0"). Appending -SNAPSHOT will create a snapshot release.'
required: true
type: string
env:
EDC_VERSION: ${{ github.event.inputs.edc_version || inputs.edc_version }}
jobs:
Prepare-Release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# create tag on the current branch using GitHub's own API
- name: Create tag on current branch (main)
uses: actions/github-script@v6
with:
script: |
github.rest.git.createRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: 'refs/tags/v${{ env.EDC_VERSION }}',
sha: context.sha
})
# create merge commit main -> releases encoding the version in the commit message
- name: Merge main -> releases
uses: everlytic/[email protected]
with:
github_token: ${{ github.token }}
source_ref: ${{ github.ref }}
target_branch: 'releases'
commit_message_template: 'Merge commit for release of version v${{ env.EDC_VERSION }}'
outputs:
edc-version: ${{ env.EDC_VERSION }}
Github-Release:
# cannot use the workflow-level env yet as it does not yet exist, must take output from previous job
if: ${{ !endsWith( needs.Prepare-Release.outputs.edc-version, '-SNAPSHOT') }}
needs:
- Prepare-Release
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v3
with:
ref: main
- name: Create GitHub Release
uses: ncipollo/release-action@v1
with:
generateReleaseNotes: true
tag: "v${{ env.EDC_VERSION }}"
token: ${{ secrets.GITHUB_TOKEN }}
removeArtifacts: true