-
-
Notifications
You must be signed in to change notification settings - Fork 8
78 lines (66 loc) · 2.59 KB
/
publishing.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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
name: Publishing the action to the marketplace
on:
push:
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
workflow_dispatch:
# Declare default GITHUB_TOKEN permissions as read only.
permissions:
contents: read
jobs:
test-local-action:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: ./
name: Load used actions
with:
PAT: ${{ secrets.GITHUB_TOKEN }}
id: load-actions
- shell: pwsh
run: |
Write-Host "Found actions [${{ steps.load-actions.outputs.actions-file }}]"
$content = ${{ steps.load-actions.outputs.actions-file }}
New-Item -Path 'actions.json' -Value $content -Force | Out-Null
$actions = $content | ConvertFrom-Json
if ($actions.Length -le 0) {
throw "No actions found"
}
else {
Write-Host "Found [$($actions.Length)] actions"
}
- name: Upload result file as artefact
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: actions
path: actions.json
publish:
needs: test-local-action
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Get tag value
id: tag
uses: devops-actions/action-get-tag@ae671c6dd18038f961483a9924fe271c73143757 # v1.0.1
- name: Use tag
run: echo ${{ steps.tag.outputs.tag }}
- uses: actions/create-release@0cb9c9b65d5d1901c1f53e5e66eaf4afd303e70e # v1.1.4
id: create_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
body: |
Release ${{ github.ref }} is available now
# todo: figure out how this works with an action :-)
# does not work, as you cannot set the flag to publish the action to the marketplace
#- uses: actions/publish-release-asset@v2
#with:
#upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
#asset_path: ./my-artifact.zip
#asset_name: my-artifact.zip
#asset_content_type: application/zip