2 Commits

Author SHA1 Message Date
GitHub Actions
73aaf9a437 Foo 2021-12-10 15:41:14 +00:00
Stephan
dd62ea5560 pii 2021-12-10 16:40:54 +01:00
2 changed files with 20 additions and 81 deletions

20
.github/workflows/manual-thingy.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
name: Manually Do Something
on: workflow_dispatch
jobs:
job:
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/heads/release/')
steps:
- name: Checkout
uses: actions/checkout@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Do Something
run: |
version="${{ github.ref }}"
version="${version:19}" # trim starting 'refs/heads/release/' (19 chars)
echo "Tag ref ${{ github.ref }} as v$version"
git tag v$version
git config user.email "github-actions@zpqrtbnk.net"
git config user.name "GitHub Actions (Do Something)"
git push --tags

View File

@@ -1,81 +0,0 @@
name: Publish Release
on: workflow_dispatch
jobs:
job:
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/heads/release/')
steps:
- name: Validate the release
uses: actions/github-script@v4
with:
script: |
const ver = "${{ github.ref }}".substring(19)
const tag = "v" + ver
var rel
try {
rel = await github.repos.getReleaseByTag({
owner: context.repo.owner,
repo: context.repo.repo,
tag: tag
})
}
catch (error) {
core.setFailed(`Could not find a release for tag ${tag}.`)
return
}
if (!rel.draft) {
core.setFailed(`Release for tag ${tag} is already published.`)
return
}
try {
const ref = await github.git.getRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: 'tags/' + tag
})
core.setFailed(`Tag ${tag} already exists.`)
return
}
catch (error) {
// this is expected
}
// everything is OK
- name: Checkout
uses: actions/checkout@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Configure repository
shell: bash
run: |
git config user.email "github-actions@hazelcast.com"
git config user.name "GitHub Actions (Build Release)"
- name: Finalize the release
run: |
ref="${{ github.ref }}"
branch="${ref:11}" # trim starting 'refs/heads/' (11 chars)
version="${ref:19}" # trim starting 'refs/heads/release/' (19 chars)
echo "Tag branch $branch as v$version"
git tag v$version
git push --tags
#git push :$branch
- name: Publish the release
uses: actions/github-script@v4
with:
script: |
const ver = "${{ github.ref }}".substring(19)
const tag = "v" + ver
const rel = await github.repos.getReleaseByTag({
owner: context.repo.owner,
repo: context.repo.repo,
tag: tag
})
await github.repos.updateRelease({
owner: context.repo.owner,
repo: context.repo.repo,
release_id: rel.id,
draft: false
})