Skip to content

Commit e79f235

Browse files
authored
Add release step, add check for first tag (#185)
1 parent 7f831b5 commit e79f235

File tree

2 files changed

+36
-6
lines changed

2 files changed

+36
-6
lines changed

.github/workflows/ci.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,32 @@ jobs:
112112
go-version-file: go.mod
113113
cache: true
114114

115+
- name: Publish release on tag
116+
uses: actions/github-script@v6
117+
continue-on-error: true
118+
with:
119+
github-token: ${{secrets.GITHUB_TOKEN}}
120+
script: |
121+
const ref = context.ref.split("/")[2]
122+
123+
const releases = (await github.rest.repos.listReleases({
124+
owner: context.payload.repository.owner.login,
125+
repo: context.payload.repository.name,
126+
per_page: 100,
127+
})).data
128+
129+
const draft_release = releases.find(release => release.draft && release.tag_name === ref)
130+
131+
const update = await github.rest.repos.updateRelease({
132+
owner: context.payload.repository.owner.login,
133+
repo: context.payload.repository.name,
134+
release_id: draft_release.id,
135+
draft: false
136+
});
137+
console.log(`Release published: ${update.data.html_url}`)
138+
console.log(`Release notes: ${update.data.body}`)
139+
if: startsWith(github.ref, 'refs/tags/')
140+
115141
- name: Download Syft
116142
uses: anchore/sbom-action/download-syft@v0.11.0
117143

.github/workflows/release.yaml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,14 @@ jobs:
4444
const latest_release_current_branch = releases.find(release => !release.draft && release.tag_name.startsWith("v" + ref.split("-")[1]))
4545
4646
if (latest_release_current_branch === undefined){
47-
latest_release = (await github.rest.repos.getLatestRelease({
48-
owner: context.payload.repository.owner.login,
49-
repo: context.payload.repository.name,
50-
})).data.tag_name
47+
try {
48+
latest_release = (await github.rest.repos.getLatestRelease({
49+
owner: context.payload.repository.owner.login,
50+
repo: context.payload.repository.name,
51+
})).data.tag_name
52+
} catch (e) {
53+
latest_release = "v0.0.0"
54+
}
5155
} else {
5256
latest_release = latest_release_current_branch.tag_name
5357
}
@@ -72,7 +76,7 @@ jobs:
7276
owner: context.payload.repository.owner.login,
7377
repo: context.payload.repository.name,
7478
tag_name: tagTo,
75-
previous_tag_name: tagFrom,
79+
previous_tag_name: semver.gt(tagFrom, '0.0.0') ? tagFrom : '',
7680
target_commitish: branch,
7781
})).data.body
7882
@@ -91,7 +95,7 @@ jobs:
9195
owner: context.payload.repository.owner.login,
9296
repo: context.payload.repository.name,
9397
tag_name: 'v' + version,
94-
previous_tag_name: tagFrom,
98+
previous_tag_name: semver.gt(tagFrom, '0.0.0') ? tagFrom : '',
9599
target_commitish: branch,
96100
}))
97101

0 commit comments

Comments
 (0)